Co-channel interference receiver

ABSTRACT

A digital receiver automatically detects and non-coherently demodulates a multiplicity of interfering digitally modulated signals transmitted simultaneously at approximately the same carrier frequency. The receiver includes one or more antenna inputs (e.g., polarization and/or space diverse), a parameter estimator module, and a multiuser detector for estimating the data transmitted by each interfering signals and adapted to operate with at least one of a MUD algorithm with partially quantized prior information and a MUD algorithm based on prewhitened data.

RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.60/398,451, filed Jul. 24, 2002. This application is acontinuation-in-part of U.S. application Ser. No. 10/228,787 filed Aug.26, 2002, which claims priority to U.S. Provisional Application No.60/372,956, filed Apr. 16, 2002. This application is also acontinuation-in-part of U.S. application Ser. No. 10/105,918, filed Mar.25, 2002. This application is related to U.S. application Ser. No.10/423,695, filed Apr. 25, 2003, This application is related to U.S.application Ser. No. 10/423,655, filed Apr. 25, 2003. Each of theseapplications is herein incorporated in its entirety by reference.

STATEMENT OF GOVERNMENT INTEREST

The present invention was made with United States Government supportunder a United States Government Contract. The United States Governmenthas certain rights in this invention.

FIELD OF THE INVENTION

The invention relates to wireless communications, and more particularly,to a wireless digital signal receiver for applications where recovery ofdigital signals corrupted by co-channel interference from similarlymodulated interfering signals is desirable.

BACKGROUND OF THE INVENTION

Wireless networks are employed for communication between variousdevices, such as cell phones and computers. Digitally modulated signalssuch as binary phase shift keyed and quadrature phase shift keyedsignals are transmitted between nodes of the network. Examples includesatellite communications networks where terminals transmit throughsatellite transponders, terrestrial systems where terminals transmitthrough repeating towers, and indoor local area networks where terminalstransmit through central repeating elements.

Computer elements connected to these networks provide a variety of userservices. Examples include telephone traffic with digital voiceencoding, video conferencing, wide area computer network connectivity,and internet service. In such applications, it is desirable to maximizethe network traffic capacity in a given bandwidth in the presence ofinterference and noise.

To that end, a variety of schemes exist for efficiently partitioning thenetwork elements into communication channels. For example, frequencydomain multiple access (FDMA) schemes assign each network terminal to aseparate, non-overlapping frequency band. Time domain multiple access(TDMA) schemes assign each terminal to a separate non-overlapping timeslot. Code division multiple access (CDMA) schemes assign each terminalto a separate modulating waveform so that the cross correlation betweeneach terminal is negligible.

Such schemes are inefficient in that given sufficient signal to noiseratio or coding redundancy, more communicators could use the allocatedbandwidth if provided with a means for detecting the excess signalmargin, as well as a means for demodulating signals in the presence ofinterference. In short, despite the advancements in wirelesstransmission and reception, conventional systems do not properly accountfor the real world wireless communication signals that suffer fromsignal degradation such as interference and multipath problems.

More specifically, a real world multiuser system includes a number ofindependent users simultaneously transmitting signals. Each of thesetransmissions are associated with real-time problems of multipath andco-channel interference that manifest in the received signals. Multipathoccurs when a signal proceeds to the receiver along not one but manypaths so that the receiver encounters echoes having different andrandomly varying delays and amplitudes. Co-channel interference refersto signals received from other users.

A multiuser detection (MUD) receiver can be used to jointly demodulateco-channel interfering digital signals. In general, MUD refers to thedetection of data in non-orthogonal multiplexes. MUD processingincreases the number of information bits available per chip or signalingdimension for interference limited systems. Optimal MUD based on themaximum likelihood principle operates by comparing the received signalwith the entire number of possibilities that may have occurred at theensemble of transmitters, to give rise to the waveform received at thereceiver.

However, for multiuser detectors that examine a larger capacity ofsignal, the computations are complex and time-consuming, thus makingreal-time operation impractical. Reduced complexity approaches based onconventional tree-pruning algorithms help to some extent. However,performance of such multiuser detection algorithms degrades as theparameter M (pruning factor) is decreased, but M governs the number ofcomputations required. Thus, to combat improper pruning, basictree-pruning must ensure that M is large enough. As a result,conventional pruning methods are still associated with increasedcomplexity, particularly when the number of interfering signals ismoderate to large.

What is needed therefore are techniques for allowing multiple users tooperate in the same communication channel. Such techniques shouldaccurately separate co-channel signals and reduce complex processing.

BRIEF SUMMARY OF THE INVENTION

One embodiment of the present invention provides a co-channelinterference receiver. The receiver includes a multiuser detector modulethat is adapted to receive a complex signal that contains informationfrom K co-channel interfering signals. The receiver further includes aparameter estimation module that is adapted to receive the complexsignal, and to generate estimated signature waveforms of each of the Kco-channel interfering signals. The estimated signature waveforms areprovided to the multiuser detector thereby enabling demodulation of theK co-channel interfering signals. Note that the multiuser detectormodule and the parameter estimation module can each be adapted toreceive a plurality of complex signals.

The multiuser detector module is configured to operate, for example,with an algorithm with partially quantized prior information.Alternatively, the multiuser detector module is configured to operatewith an algorithm based on prewhitened data. Alternatively, the receivermay be configured to operate with both algorithms. In one suchembodiment, the algorithm with partially quantized prior information isa low complexity linear MMSE algorithm. In another such embodiment, thealgorithm based on prewhitened data in one of an M-algorithm andT-algorithm.

The receiver may further include an analog front end that is operativelycoupled to the multiuser detector module and the parameter estimationmodule. The analog front end is adapted to receive one or more compositewaveform signals each from a plurality of transmitters, and to converteach received composite waveform signal to a corresponding complexsignal. In one such embodiment, the analog front end includes one ormore analog to digital converters, each adapted to convert a receivedcomposite waveform to a digital waveform, and also includes one or moredownconverters, each operatively coupled to a respective analog todigital converter, and adapted to translate frequency associated with areceived composite waveform to a lower frequency.

The analog front end may further include one or more antennas eachconfigured to receive a corresponding composite waveform signal from theplurality of transmitters. In one such embodiment, the one or moreantennas is a singly polarized antenna. Alternatively, the one or moreantennas is a dual polarized antenna adapted with two polarizationports, thereby providing polarization diversity. Alternatively, the oneor more antennas include two or more dual polarized antennas, eachadapted with two polarization ports, thereby providing space andpolarization diversity.

In an embodiment where the multiuser detector module is configured tooperate with the low complexity linear MMSE algorithm with partiallyquantized prior information, the multiuser detector module includes aturbo MUD module, a combiner module, an error correction module, and athresholding module. The turbo MUD module is adapted to provideestimates of individual bits for each of the K co-channel interferingsignals. The estimates are iteratively applied in a feedback loop, whichincludes the error correction module, until an error rate associatedwith the bits drops below a predetermined figure. The combiner module isoperatively coupled to the turbo MUD, and is adapted to combinerecomputed bit estimates output by the turbo MUD with quantized bitvalues on a next iteration. The thresholding module is operativelycoupled to the output of the error correction module, and is adapted toassign a quantized value for each bit estimate above a predeterminedthreshold, and to pass through those quantized bit values to thecombiner module, thereby enabling partially quantized prior information.In one such embodiment, the error correction module on each subsequentiteration processes a combination of recomputed bit estimates output bythe turbo MUD and quantized bit values output by the thresholdingmodule, and provides its output back to the turbo MUD through thethresholding module, thereby reducing the number of uncertain bitestimates with every iteration.

In an embodiment where the multiuser detector module is configured tooperate with the low complexity M-algorithm based on prewhitened data,the multiuser detector module includes a matched filter, a whitenerdesigner module, an asynchronous whitener module, and a symbolhypothesis testing module. The matched filter is adapted to prewhitencomplex signals received by the receiver, thereby partially decouplingusers from multiple access interference. The whitener designer module isoperatively coupled to the parameter estimator, and is adapted todevelop a model of each received complex signal based on parameterestimates from the parameter estimator, and to compute an asynchronouswhitener module that whitens filtered data output by the matched filter.The symbol hypothesis testing module is operatively coupled to thewhitener designer module, and configured to receive whitened data outputby the asynchronous whitener module. The symbol hypothesis testingmodule is adapted to conduct symbol hypothesis testing based onsequential evaluation of metric characterizing likelihood of hypotheses.In one such embodiment, the whitener designer module employs asquare-root factorization. For example, the whitener designer moduleutilizes a correlation matrix provided by the parameter estimationmodule to compute a diagonally loaded Cholesky Factorization, which isused for whitening in the whitening module, and is also used inhypothesis testing in the symbol hypothesis testing module.Alternatively, the whitener designer module employs a QR factorizationusing Householder transformations. In addition, the whitener designermodule can employ Hyperbolic Householder transformations to efficientlyupdate the asynchronous whitener module when only received energiesand/or phases change between symbol periods.

The parameter estimates of the parameter estimation module can be usedto model a channel associated with each received complex signal, therebyenabling application of the matched filter and development of anasynchronous decorrelating filter bank. In one embodiment, the parameterestimation module includes a training sequence locator module, a noiseestimator module, and a signature waveform estimator module, an activeuser tester module, a transformation matrix rebuilder module. Thetraining sequence locator module is adapted to estimate a trainingsequence location index in each frame of the received complex signal.The noise estimator module is adapted to calculate an estimate of anaverage noise power in the received complex signal in accordance withthe training sequence location index. The signature waveform estimatormodule is adapted to estimate signature waveforms unique to each user inthe received complex signal in accordance with the training sequencelocation index and a transformation matrix. The active user testermodule is operatively coupled to an output of the noise estimator moduleand to an output of the signature waveform estimator module, and isadapted to determine a number of active users associated with thereceived complex signal. The transformation matrix rebuilder module isoperatively coupled to the active user tester module and to pre-storedknown training sequences for each user, and is adapted to generate thetransformation matrix used by the signature waveform estimating module.

Another embodiment of the present invention provides a method forreceiving a complex signal that contains information from K co-channelinterfering signals. The method includes estimating signature waveformsof each of the K co-channel interfering signals, and processing thecomplex signal based on the signature waveforms with at least one of: alow complexity linear MMSE algorithm with partially quantized priorinformation, and a low complexity M-algorithm based on prewhitened data.In one such embodiment, the low complexity linear MMSE algorithm withpartially quantized prior information includes eliminating from eachprocessing iteration consideration of those bits having an estimatevalue that exceeds a predetermined threshold, wherein bit estimatesexceeding the threshold are considered certain. In another suchembodiment, the low complexity M-algorithm based on prewhitened dataincludes filtering the complex signal, thereby partially decouplingusers from multiple access interference and providing prewhitened data.The method proceeds with developing a model of the received complexsignal based on parameter estimates, computing an asynchronous whitenerbased on the model for whitening the prewhitened data, and conductingsymbol hypothesis testing based on sequential evaluation of metriccharacterizing likelihood of hypotheses.

The features and advantages described herein are not all-inclusive and,in particular, many additional features and advantages will be apparentto one of ordinary skill in the art in view of the drawings,specification, and claims. Moreover, it should be noted that thelanguage used in the specification has been principally selected forreadability and instructional purposes, and not to limit the scope ofthe inventive subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system block diagram of a Communication System having aMultiuser Detection Receiver configured in accordance with oneembodiment of the present invention.

FIG. 2 illustrates a Multiuser Detection Receiver having a dualpolarized antenna in accordance with another embodiment of the presentinvention.

FIG. 3 illustrates a Multiuser Detection Receiver having more than oneantenna, each antenna having one or two polarizations in accordance withanother embodiment of the present invention.

FIG. 4 is a diagram of the frame structure underlying the receivedbaseband signal for the case of two or more co-channel interferingsignals for a given diversity port signal and also shows trainingsequence sliding search windows for use in the training sequencelocator, in accordance with one embodiment of the present invention.

FIG. 5 is a block diagram of the Parameter Estimator configured inaccordance with one embodiment of the present invention.

FIG. 6 is a flow chart of a Training Sequence Locator componentconfigured in accordance with one embodiment of the present invention.

FIG. 7 is a block diagram of a Noise Estimator component configured inaccordance with one embodiment of the present invention.

FIG. 8 is a flow chart of the Signature Waveform Estimator componentconfigured in accordance with one embodiment of the present invention.

FIG. 9 is a flow chart for an Active User Tester component configured inaccordance with one embodiment of the present invention.

FIG. 10 is a flow chart for an Active User Test For Diversity Port “p”in accordance with one embodiment of the present invention.

FIG. 11 is a diagrammatic representation of iterative processing ofincoming data streams in a Turbo MUD in accordance with one embodimentof the present invention.

FIG. 12 is a block diagram illustrating a Turbo MUD system configured inaccordance with one embodiment of the present invention.

FIG. 13 is a diagrammatic illustration of example thresholding performedby the system of FIG. 12.

FIG. 14 is a block diagram illustrating example thresholding andcombining performed by the system of FIG. 12.

FIG. 15A is a schematic diagram of two of the bits in an example K by Lmatrix of FIG. 14 having certain values.

FIG. 15B is a diagrammatic illustration of example processing of thevalues from the matrix of FIG. 14.

FIG. 15C is a diagrammatic illustration of MUD signals which areprocessed on a next iteration combined with unprocessed signals so as toprovide the error correction unit of FIG. 14 with appropriate estimates.

FIG. 16 implements an M-algorithm based on prewhitened data inaccordance with an embodiment of the present invention.

FIG. 17 demonstrates the symbol hypothesis testing based on sequentialevaluation of metric characterizing likelihood of hypotheses inaccordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

In present day communication systems, a central controller normallyassigns one communicator to each channel, during a communication channelsetup period. Channels may be some combination of a time slot, afrequency, and a spreading code. In most systems, channels are re-usedin distant regions, thereby giving rise to co-channel interference. Ifthere is a large distance between the regions wherein the re-use occurs,then signal attenuation reduces the co-channel interference to tolerablelevels. This is a necessary result, as conventional receivers cannotdemodulate a signal in the presence of significant co-channelinterference.

A Co-Channel Interference Receiver configured in accordance with theprinciples of the present invention can jointly demodulate two or moresignals transmitted on the same channel. Systems utilizing an embodimentof the Co-Channel Interference Receiver could use a similar channelsetup format, but the channel assignments would not be limited to asingle communicator per channel in any given region. More specifically,when all available channels are filled with one user per channel, thecentral controller can begin filling new channel requests by adding thenew communicator to an already occupied channel.

This will slightly degrade the bit error rate of the first communicator.The central controller may optionally direct the transmitters on thischannel to increase transmit power to bring the bit error rate backdown. Alternatively, the central controller may optionally direct thetransmitters and receivers on this channel to decrease the bandwidth tobring the bit error rate back down.

In addition, the receiver of the present invention is configured toreceive data using spatially diverse and or polarization diverseantennas. Both concepts are within the scope of the invention, as wellas the use of a single antenna. Encompassing more than one polarizationport allows the transmitter to transmit in both polarizations and in theevent of significant multipaths or electromagnetic scattering, bothpolarizations may be received and processed even though only one wastransmitted. Polarization and/or space diversity increases the number ofdimensions in the signal space, which effectively increases the distancebetween constellation points. As a result, the bit error rate isimproved.

Embodiments of the invention can be used in several applications. Onesuch application is a co-channel communications system forairborne-to-ground communications, where the system simultaneouslyreceives signals from several independent communication networkstransmitting similarly modulated data on nearly identical carrierfrequencies. The main beam area coverage can be low density (e.g.,10,000 square kilometers) or high density (e.g., 100 square kilometers).Consider, for example, a main beam covering 28 base stations and afrequency reuse factor of 7, where there are 8 users per base station,with 4 of the base stations operating on the same frequency. Such asystem would receive up to 224 users' downlink signals, and a variety ofsignal types originating from diverse sources would need to be processedby a single receiver.

Another example co-channel system application is a terrestrial frequencycommunications receiver simultaneously receiving signals from elementsof the same communication network employing frequency reuse. Thecommunications network might be, for instance, a packet radio network, acell phone network, or a wireless local area network. Due to inadvertentpositioning of the network elements, the network is degraded byinterference.

While the discussion herein illustrates wireless communicationapplications, the principles of the present invention are equallyapplicable to wired cable systems and local area networks, read/writeoperations of a disc drive or other storage devices, satellitecommunications, and any application that benefits from manipulatingdigital data from among many multiple sources.

Co-Channel Interference Receiver

Referring to FIG. 1, a system block diagram is shown of a CommunicationSystem 10 comprising a Multiuser Detection (MUD) Receiver 12 and aplurality of User Transmitters 11 ₁ to 11 _(K), which are allsimultaneously transmitting co-channel, interfering digital signals, allon the same frequency, all using the same type of modulation scheme suchas digital phase shift key (PSK) or quadrature amplitude modulated (QAM)signals, with the same nominal data rate.

Each of the User Transmitters 11 ₁ to 11 _(K) has a unique, knowntraining sequence. The training sequences are roughly aligned asreceived at a Receiver Antenna 13, so that the training sequences mostlyoverlap. This type of synchronization is normally provided incommunication systems through the use of a synchronization signaltransmitted from a unit co-located with the MUD receiver 12. Alignmentof the symbol transitions is not required.

In this particular embodiment, the MUD Receiver 12 an analog front endthat includes the Antenna 13, a Signal Sampler 14, and a Downconverter16, and the output (e.g., baseband signals or other lower frequencyversions of the received signals) of the Downconverter 16 are fed to aMultiuser Detector 18 and a Parameter Estimator 20 which estimates thesignature waveforms for each user.

K signals from the User Transmitters 11 ₁ to 11 _(K) are received by theAntenna 13 as the sum of the signals from Transmitters 11 ₁ to 11 _(K).The Antenna 13 is a singly polarized antenna with a single connection tothe Signal Sampler 14. This connection is made, for example, by atransmission line or Waveguide 22 that connects from one Antenna 13 toone Signal Sampler 14.

The Signal Sampler 14 may be embodied by an analog-to-digital converter(A/D). The output of the Signal Sampler 14 is a Snapshot 15 of thesampled waveform (R) received from the Antenna 13 and this Snapshot 15is composed of at least the number of samples in two frames of data.Alternately, the snapshot 15 may be composed of the number of samples inseveral frames of data. The Snapshot 15 is fed to a Downconverter 16,which is typically used in digital radios to translate the frequency ofthe received signal, R, to baseband. The output 17 of the Downconverter16 is a complex baseband signal, r(n, 1), which contains informationfrom all K co-channel interfering signals in the same frequency and timespace.

The baseband signal, r(n, 1), is sent to the Parameter Estimator 20. TheMultiuser Detector 18 jointly demodulates the co-channel interferingdigital signals, using information provided by the Parameter Estimator20. The Parameter Estimator 20 uses knowledge (stored in Memory 19) ofthe unique training symbols transmitted by User Transmitters 11 ₁ to 11_(K), and contained in the composite received signal r(n, 1) to solvefor the signature waveforms of the K signals. The term “signaturewaveform” is herein used to denote the impulse response of the channelthrough which the signal passes. The term “channel” is used herein toinclude not only the propagation channel and antenna effects, but alsoany filtering used in the transmitters 11 ₁ to 11 _(K) and Receiver 12front end. In addition, in a direct sequence spread spectrum system, itwould also include the spreading code.

The optimal Multiuser Detector 18 is one that minimizes the mean squareerror between the received signal and all possible combinations of eachusers transmitted data symbols transformed by their unique signatureresponse. This optimal Multiuser Detector 18 can be expressedmathematically as follows:

$\begin{matrix}{{\hat{d}}_{ML} = {\arg\;{\min\limits_{d \in \Omega}\left\{ {{E\left\{  \right.{r\left( {n,p} \right)}} - {\sum\limits_{k - l}^{K}{{d_{k}(n)}*{s_{k}\left( {n,p} \right)}\left. ^{2} \right\}}}} \right\}}}} & (1)\end{matrix}$where Ω=the constraint set of all possible combinations of transmitteddata symbols. A number of low complexity MUD algorithms are describedherein.

The purpose of the Parameter Estimator 20 is to supply the MultiuserDetector 18 with the information needed to solve Equation 1. Thesignature waveforms 30, which are unique to each user and each diversityport, describe the transformation of each user's transmitted symbols asthey propagate from Transmitters 11 ₁ to 11 _(K) to Receiver 12. Thisincludes pulse shape filtering on the Transmitters 11 ₁ to 11 _(K) andreceiver filtering on the Receiver 12. Some multiuser detectors may alsorequire information about the location of the training sequence in eachframe of data for synchronization, and they may also require informationabout the noise power in the received signal to make better estimates ofthe transmitted symbols for each user. The Parameter Estimator 20 may beconfigured to calculate such parameters, and therefore, will operatewith any Multiuser Detector 18 that requires these inputs.

In one embodiment, the Parameter Estimator 20 generates outputs thatoccur once per snapshot and contain parameter estimates for each frameof data in that snapshot. These parameter estimates include estimatedsignature waveforms 30, ŝ_(ka)(n, p, m), for each diversity port (p),frame (m), and active user (k_(a)). The outputs also include anestimated noise power 26 {circumflex over (σ)}²(p), which is a scalarthat represents the average power of the noise and a training sequenceindex 28, τ_(TS), which is a pointer to the location of the trainingsequence in each frame of the snapshot 15. The outputs also include anactive users vector 29 (u(k)) that contains the state of each user, k.State refers to the user being “actively transmitting” or “nottransmitting”.

The outputs of the Parameter Estimator 20 are sent to the MUD 18, whichalso receives the r(n, 1) baseband signal 17, and produces separatestreams of transmitter I symbols 39 to transmitter K symbols 38 forsignal 1, signal 2, up to signal K which correspond to each of the Kco-channel interfering signals sent by Transmitters 11 ₁ to 11 _(K) Thesystem may further include additional post-MUD processing componentry(not shown) adapted to receive the outputs of the MUD 18, such asfrequency mismatch compensation modules, block error decoding modules,demultiplexing or depacketizing modules, and routing modules.

Polarization Diversity MUD

FIG. 2 illustrates a Multiuser Detection Receiver having a dualpolarized antenna in accordance with another embodiment of the presentinvention. The inclusion of a Dual Polarized Antenna 40 provides moreinformation to the Multiuser Detector 18, to make better symboldecisions, thereby reducing the symbol error rate. This extrainformation derives from the fact that the signals received byorthogonally polarized antenna ports travel through effectivelydifferent channels. The Parameter Estimator 20 will provide to theMultiuser Detector 18 the signature waveforms 30 for each user “k”received by both antenna ports (p=1,2). Hence, there will be K×2signature waveforms 30 passed to the Multiuser Detector 18. Therefore,the MUD 18 will have twice as many equations compared to only onepolarization, but the same number of symbols for which to solve.

The use of a dual polarized antenna will be of benefit, for example, inthe following two cases: first, where the signal is transmitted in dualorthogonal polarizations, and second, where electromagnetic scatteringcauses significant cross polarized energy to be received at the ReceiveAntenna 40, even though only one polarization was transmitted.

Space and Polarization Diversity MUD

FIG. 3 illustrates a Multiuser Detection Receiver having more than oneantenna, each antenna having one or two polarizations in accordance withanother embodiment of the present invention. The inclusion of extraantenna ports provides even more information to the MUD 18, enabling itto make better symbol decisions, thereby reducing the symbol error rate.In order to provide added benefit, the extra antennas must be spacediverse. In other words, the antennas must be spaced far enough apartthat they provide a significantly different propagation channel. In thiscase, the Parameter Estimator 20 processes the signal r(n,p), where p=1,2, . . . P and produces K×P signature waveforms 30 to pass to MUD 18.

Frame Structure and Training Sequence Sliding Search Windows

FIG. 4 is a diagram of the frame structure underlying the receivedbaseband signal r(n,p) for the case of multiple (K) co-channelinterfering signals for a given diversity port signal “p”, showing asequence of framed segments f_(m)(n,p) having a received compositetraining sequence β(n,p), at the same location of each frame segment,and also shows training sequence sliding search windows (l_(m)(τ,p)) foruse in the training sequence locator.

In one embodiment, the received composite training sequence, β(n,p), isdefined as the complex baseband version of the sum of each userstraining sequence, b_(k)(n), convolved (indicated by an asterisk) withits respective signature waveform, s_(k)(n,p), plus additive whiteGaussian noise, w(n,p). This relation is defined mathematically asfollows:

$\begin{matrix}{{\beta\left( {n,p} \right)} = {{\sum\limits_{k - 1}^{K}{{b_{k}(n)}*{s_{k}\left( {n,p} \right)}}} + {w\left( {n,p} \right)}}} & (2)\end{matrix}$

FIG. 4 also shows the training sequence sliding search windows,l_(m)(τ,p), for use in the training sequence locator. In particular, thetraining sequence sliding search windows are used by the DetectionStatistic Calculator 90 _(p), which is part of the Training SequenceLocator 56 (FIG. 6). These sliding search windows are L samples long,where L is the number of samples in a received composite trainingsequence, β (n,p). The first index of each sliding search window isseparated by F samples, where F is the number of samples in a frame ofdata. Each sliding search window, l_(m)(τ,p), is moved across acorresponding frame of received data, f_(m)(n,p), shifted one sample ata time for a total of F sample shifts. For each sample shift, τ, thedata in each sliding search window, l_(m)(τ,p), is used by the DetectionStatistic Calculator 90 to calculate the corresponding value of thedetection statistic.

Parameter Estimation

FIG. 5 is a block diagram of the Parameter Estimator configured inaccordance with one embodiment of the present invention. ParameterEstimator 20 is shown comprising software modules which include aTraining Sequence Locator 56, a Noise Estimator 52, a Signal EstimatorLoop 57, and an Initial Transformation Matrix Builder 63. The SignalEstimator Loop 57 further includes a Signature Waveform Estimator 58, anActive Users Tester 60, a Transformation Matrix Selector 61, and aTransformation Matrix Rebuilder 62. Alternative embodiments andconfigurations may implement similar functionality.

The Training Sequence Locator 56 is used to estimate the location index,τ_(TS), in each frame of received data, f_(m)(n,p), of the compositereceived training sequence, β(n,p), and the Noise Estimator 52 is usedto calculate an estimate of the average noise power ({circumflex over(σ)}(p)²) in the received signal r(n,p) for each diversity port, p. TheSignature Waveform Estimator 58 is used to estimate the characteristicsignature waveforms, ŝ_(k)(n, p, m), unique to each user K, and eachdiversity port p, for each frame m, in the received snapshot.

The output of the Signature Waveform Estimator 58 is fed to an ActiveUsers Tester 60 which detects which users signals are present in thegiven snapshot, and provides an output to a Transformation MatrixRebuilder 62 which rebuilds the Transformation Matrix (T _(r2)) that isused in the Signature Waveform Estimator 58. This matrix is rebuilt byusing only the training sequences, b_(k)(n), of the active users ascalculated by the Active Users Tester 60.

The output of the Transformation Matrix Rebuilder 62 is fed to aTransformation Matrix Selector 61 which selects the output T _(r1) froman Initial Transformation Matrix Builder 63 or the output T _(r2) fromthe Transformation Matrix Rebuilder 62 to send to the Signature WaveformEstimator 58. In this particular embodiment, the Transformation MatrixSelector 61 always selects T _(r1) for the initial estimate of thesignature waveforms in the given snapshot, and always selects T _(r2)for all subsequent recalculations of the signature estimates for thesame snapshot of data. This allows the Signature Waveform Estimator 58to calculate a better estimate of the characteristic signaturewaveforms, ŝ_(ka)(n, p, m), for only the active users as determined bythe Active User Tester 60.

This process of performing the Signature Waveform Estimator 58,performing the Active User Tester 60, and running the TransformationMatrix Rebuilder 62, is referred to as the Signature Estimation Loop 57.The Signature Estimation Loop 57 can be repeated until the output of theActive User Tester 60 calculated on the previous iteration equals theoutput of the Active User Tester 60 on the current iteration. It is alsopossible to set the maximum number of Signature Estimators Loops 57 inthe Parameter Estimation 20 component.

Note that with each iteration through this Loop 57, the number ofsignature waveforms at the output of the Signature Waveform Estimator 58is equal to the number of active users calculated on the previousiteration. Further note that on the first iteration, the number ofsignature estimates is equal to the total number of possible users, K.Once the final signature estimates of the active users are calculated,the resulting waveforms are passed as outputs of the Parameter Estimator20 along with the user states vector, u(k) that reports which users areactive in the current snapshot.

The Initial Transformation Matrix Builder 63 receives known trainingsequence data, b_(k)(n), for each user, which may be prestored, forexample, in a Memory 19 of the Multiuser Detection Receiver 12. Eachuser's training sequence data is used to build the InitialTransformation Matrix, T _(r) ₁ , which is fed to the TransformationMatrix Selector 61.

The Noise Estimator 52 estimates the noise power in the incoming signal,r(n,p) for all p=1,2, . . . P, diversity ports and feeds the informationto the Active User Tester 60 and the MUD 18. This estimation istypically done once per snapshot wherein the snapshot is at least thenumber of samples in two frames, but need not be done as often if thenoise power is changing slowly or not at all. Note that the accuracy ofthe Noise Estimator 52 improves as the number of composite trainingsequence estimates, {circumflex over (β)}_(m)(n, p), increases. Toincrease the number of composite training sequence estimates, the numberof frames, f_(m)(n,p), in the received complex baseband signal, r(n,p),must increase. This results in an increased snapshot size.Alternatively, the Training Sequence Selector 56 must store thecomposite training sequence estimates, {circumflex over (β)}_(m)(n, p),for multiple snapshots of received data, and calculate the estimatednoise power using the total number of stored composite training sequenceestimates {circumflex over (β)}_(m)(n, p).

The Training Sequence Locator 56 determines the position of the trainingsequence in each frame, f_(m)(n,p) of the received snapshot vector,r(n,p) and feeds this information in the form of a sample index, τ_(TS),referred to as the Training Sequence Location Index 28, to the MUD 18.In addition, the position of the training sequence in the receivedsnapshot is fed to the Noise Estimator 52 and to the Signature WaveformEstimator 58 where it is used to determine which section of each frame,f_(m)(n,p), in r(n,p) to process in order to determine the average noisepower estimate, {circumflex over (σ)}(p)² and signature estimatesŝ_(k)(n, p, m), respectively. The Signature Waveform Estimator 58estimates the signature waveforms ŝ_(k)(n, p, m) in each frame, m, ofeach K individual co-channel interfering signal in the compositereceived input signal, r(n,p), for each diversity port p, and outputsthis information to the Active User Tester 60 and MUD 18.

FIG. 6 is a flow chart of a Training Sequence Locator componentconfigured in accordance with one embodiment of the present invention.The Training Sequence Locator 56 component is configured to locate thetraining sequence in the received complex baseband signal, r(n,p),received from each diversity port, (p=1,2 . . . ,P), processing aminimum of two frames of received data. Because the number of samples ina transmitted frame of data (F) is known to the receiver, each receivedframe, f_(m)(n,p), in r(n,p) repeats at the same time rate as atransmitted frame of data. Therefore, the location of the compositetraining sequence, β(n,p), will be the same for each frame, f_(m)(n,p),of received data. However, because the transmitted and received framesof data are not initially synchronized, the beginning of a transmittedframe of data may not start at the beginning of a frame, f_(m)(n,p), ofreceived data. This means that the location of the training sequence ineach frame of received data also may not start at the beginning of eachframe.

The Training Sequence Locator 56 finds the location of the trainingsequence in each frame of received data. To do this, a sliding searchwindow vector, l_(m)(τ,p), that is L samples long (the same length asthe received composite training sequence) is applied simultaneouslythrough each frame of received data, and the correlation between eachcombination of windowed frames is computed and then averaged in aDetection Statistic Calculator 90. The result is a detection statistic,d_(p)(τ), which is exactly the length of a frame of received data (Fsamples long). Because the payload data is uncorrelated from frame toframe, the detection statistic will have a very low value when thesliding search windows are over the payload data in each frame. On theother hand, the composite training sequence, β(n,p), is highlycorrelated from frame to frame. Therefore, the detection statistic willbe very high when the sliding search windows are over the compositetraining sequence in each frame. Thus, the location τ_(p), of the peakin the detection statistic, d_(p)(τ), will be the location of thetraining sequence in each frame sequence, f_(m)(n,p).

The inputs to the Training Sequence Locator 56 component are complexbaseband received signals, r(n,p), from each diversity port, (p=1,2, . .. P). An estimate of the training sequence location index, τ_(p), iscalculated separately for each diversity port signal, r(n,p) by theDetection Statistic Calculator 90. The first step in estimating thetraining sequence location index, τ_(p), is to provide the receivedsignal, r(n,p), to the Detection Statistic Calculator 90, forcalculating the detection statistic, d_(p)(τ), using that receivedsignal. As previously stated, each element of this detection statisticis generated by calculating the correlation coefficients, ρ_(ij)(τ,p),for each combination of sliding search windows for a given trainingsequence sample index, τ. Once each combination of correlationcoefficients is calculated, they are averaged and output as the value ofthe detection statistic, d_(p)(τ), for the specified value of τ. Thestep by step calculations needed to perform this process in accordancewith one embodiment of the present invention are as follows:

Step 1. Define the sliding search window, l_(m)(τ,p) for each frame ofreceived data in the given signal, r(n,p), for the given search windowsample index, τ.

$\begin{matrix}{{{{\underset{\_}{l}}_{m}\left( {\tau,p} \right)} = \begin{bmatrix}{r\left( {{\tau + {\left( {m - 1} \right) \cdot F}},p} \right)} \\{r\left( {{\tau + {\left( {m - 1} \right) \cdot F} + 1},p} \right)} \\\vdots \\{r\left( {{\tau + {\left( {m - 1} \right) \cdot F} + \left( {L - 1} \right)},p} \right)}\end{bmatrix}},{{\forall m} = 1},{2\ldots}\mspace{11mu},M} & (3)\end{matrix}$

Step 2. Calculate the energy, e_(m) (τ,p), in each sliding searchwindow, l_(m)(τ,p):e _(m)(τ,p)= l _(m)(τ,p)^(H) ·l _(m)(τ,p), ∀m=1,2, . . . ,M  (4)

Step 3. Calculate the correlation coefficient, ρ_(ij)(τ,p), for eachcombination of sliding search windows:

$\begin{matrix}{{{\rho_{i,j}\left( {\tau,p} \right)} = \frac{{\underset{\_}{l}}_{i}{\left( {\tau,p} \right)^{H} \cdot {{\underset{\_}{l}}_{j}\left( {\tau,p} \right)}}}{\sqrt{{e_{i}\left( {\tau,p} \right)} \cdot {e_{j}\left( {\tau,p} \right)}}}},{{\forall\left( {i,j} \right)} = \begin{Bmatrix}{\left( {1,2} \right),\left( {1,3} \right),{\ldots\mspace{11mu}\left( {1,M} \right)},} \\{\left( {2,3} \right),\left( {2,4} \right),{\ldots\mspace{11mu}\left( {2,M} \right)},} \\{\ldots\mspace{11mu},\left( {{M - 1},M} \right)}\end{Bmatrix}}} & (5)\end{matrix}$

Step 4. Calculate the detection statistic, d_(p)(τ), for the givensearch window sample index, τ, for diversity port, p, by averaging thecorresponding correlation coefficients:

$\begin{matrix}{{d_{p}(\tau)} = \frac{\sum\limits_{i = 1}^{M - 1}{\sum\limits_{j = {i + 1}}^{M}{\rho_{i,j}\left( {\tau,p} \right)}}}{\sum\limits_{i = 1}^{M - 1}i}} & (6)\end{matrix}$

This process (steps 1–4) is repeated for each search window sampleindex, {τ=1,2, . . . ,F} and for each diversity port {p=1,2, . . . P}.

Still referring to FIG. 6, once the detection statistic, d_(p)(τ), foreach diversity ports received signal, r(n,p), is calculated, it is fedto a Training Index Finder 92, where the estimated location, τ_(p), ofthe training sequence for each diversity port signal is calculated byfinding the sliding search window index, τ, that maximizes the detectionstatistic. The Training Index Finder 92, calculates the followingequation for each detection statistic, d_(p)(τ):

$\begin{matrix}{{\tau_{p} = {\arg\left\{ {\max\limits_{\tau \in {\{{1,2,{\ldots F}}\}}}\left( {d_{p}(\tau)} \right)} \right\}}},{{\forall p} = 1},2,\ldots\mspace{11mu},P} & (7)\end{matrix}$

Next, a Confidence Metric Calculator 94, calculates a confidence metricfrom each detection statistic. This is done by calculating the peak torms value of each detection statistic. This process can be implemented,for instance, by performing the following calculation for each detectionstatistic, d_(p)(τ).

$\begin{matrix}{{c_{p} = \frac{\max\left( {d_{p}(\tau)} \right)}{{rms}\left( {d_{p}(\tau)} \right)}},{{\forall p} = 1},2,\ldots\mspace{11mu},P} & (8)\end{matrix}$

As previously stated, this entire detection process is applied to thereceived signal, r(n,p), of each diversity port, p, separately. Once thetraining sequence location, τ_(p), has been estimated and the confidencemetric, c_(p), has been computed for each signal, a decision test isapplied to determine which estimate to use. Comparator 96 performs thisdecision test by comparing the values of each confidence metric andsetting the output training sequence location, τ_(TS), equal to theestimated training sequence, τ_(p), that has the highest confidencemetric, c_(p). This process is described mathematically in the followingequation:

$\begin{matrix}{\tau_{TS} = {{\tau_{p} \ni p} = {\arg\left\{ {\max\limits_{p \in {\{{1,2,\ldots,P}\}}}\left( c_{p} \right)} \right\}}}} & (9)\end{matrix}$

FIG. 7 is a block diagram of a Noise Estimator component configured inaccordance with one embodiment of the present invention. The NoiseEstimator 52 of the Parameter Estimator 20 calculates an accurateestimate of the average noise power in the received signal, r(n,p), fromeach diversity port p. Typically, the dominant noise source is thethermal noise generated by the first stage of low noise amplifiers(LNAs) in the Signal Sampler 14. This noise can be accurately modeled ascomplex zero mean additive white Gaussian noise (AWGN).

Because each diversity port p contains its own stage of LNAs, the noisepower in the received signal, r(n,p), may be slightly different fromport to port. Therefore, it is important to obtain a separate estimateof the noise power for each diversity port p. Because the noise isadditive, the section in each frame of received data, r(n,p), whichcontains the composite training sequence, β(n,p), can be modeled as thecomposite training sequence plus additive white noise, w_(m)(n,p). Thisnoise is also considered to be statistically independent of the receiveddata. As previously explained, the Training Sequence Locator 56component determines the location index in each frame f_(m)(n,p) ofreceived data that contains the composite training sequences. Thisallows the Noise Estimator 52 to extract the section of each frame,which contains an estimate of the received composite training sequence{circumflex over (β)}_(m)(n, p) .

Training Sequence Selector 70 receives the complex baseband signalr(n,p) for diversity port p into a routine that outputs the sections ofthat signal corresponding to the received training sequence for eachframe of received data. Training Sequence Selector 70 also receives thetraining sequence index, τ_(TS) 28 and the number of frames of data, M,captured in the received signal r(n,p) for use in selecting suchoutputs. M is calculated based on the size of the received signal r(n,p)and the known number of samples per frame, F.

The Training Sequence Selector 70 outputs, {circumflex over (β)}_(m)(n,p) for (m=1,2, . . . M), which are fed to an Averager 72 that calculatesthe average value of each of the vectors, {circumflex over (β)}_(m)(n,p) in order to get a good representation of the composite trainingsequences {circumflex over (β)}(n, p) . In this particular embodiment,the Averager 72 comprises a summing routine 74 and a 1/M multiplier 76.

The estimated signal, {circumflex over (β)}(n, p), is subtracted fromeach vector, {circumflex over (β)}_(m)(n, p), in summers 78 ₁, 78 ₂, . .. 78 _(M) to obtain an estimated noise signal, ŵ_(m)(n, p), contained ineach vector, {circumflex over (β)}_(m)(n, p). Then each noise signal,ŵ₁(n, p),ŵ₂(n, p), . . . ŵ_(M) (n, p), is fed to a variance calculator80 _(1, 80) ₂ . . . 80 _(M) where the variance of each noise signal iscalculated to obtain an estimate of the average noise power, {circumflexover (σ)}_(m)(p)², in each frame, M. The average noise power,{circumflex over (σ)}_(m)(p)², in each frame is fed to an Averager 82which determines an estimate of the average noise power, {circumflexover (σ)}(p)², in the received signal r(n,p) for diversity port p. Ifthere is more than one diversity port, the above process is repeated toobtain a noise power estimate for the received signal, r(n,p) receivedby each diversity port (p=1,2, . . . ,P).

An accurate estimate of the received composite training sequence,{circumflex over (β)}(n, p), is used to obtain a noise power estimatefor the received signal, r(n,p), from each diversity port, p,separately. The first step in estimating the noise power in the receivedsignal, r(n,p), for diversity port, p, is for the Training SequenceSelector 70 to extract the estimated composite training sequences,{circumflex over (β)}_(m)(n, p), in each frame of received data based onthe training sequence location index (τ_(TS)), the number of samples perframe (F), the number of samples in each received training sequence toprocess (N_(w)) and the offset into each received training sequence(δ_(w)) to use. Note that both N_(w) and δ_(w) are parameters that arestored in the memory of the Training Sequence Selector 70, and thereforecan be modified to select any section of the received composite trainingsequences. These values would typically be set so that the centralportion of each composite received training sequence is extracted fromthe received signal, r(n,p). The Training Sequence Selector 70 isdescribed mathematically as follows:

$\begin{matrix}{{{{\hat{\beta}}_{m}\left( {n,p} \right)} = {r\left( {{\left( {n - 1} \right) + {\left( {m - 1} \right) \cdot F} + \tau_{TS} + \delta_{w}},p} \right)}},\begin{matrix}{{{\forall n} = 1},2,\ldots\mspace{11mu},N_{w}} \\{{{\forall m} = 1},2,\ldots\mspace{11mu},M}\end{matrix}} & (10)\end{matrix}$

Once the estimated received training sequences, {circumflex over(β)}_(m)(n, p), for each frame, m, of received data have been extractedfrom the received signal, r(n,p), they are all averaged with each otherby the Averager 72 in order to minimize the affects of the noise vector,w_(m)(n,p), added to each estimate of the received training sequence.This produces a more accurate estimate of the actual received trainingsequence, {circumflex over (β)}(n, p). This process is expressedmathematically as follows:

$\begin{matrix}{{{{\hat{\beta}}_{m}\left( {n,p} \right)} = {\frac{1}{M}{\sum\limits_{m = 1}^{M}{{\hat{\beta}}_{m}\left( {n,p} \right)}}}},{{\forall n} = 1},2,\ldots\mspace{11mu},N_{w}} & (11)\end{matrix}$

Once this is done, the estimated received training sequence, {circumflexover (β)}(n, p), is subtracted from each vector, {circumflex over(β)}_(m)(n, p), in order to obtain an estimate of the noise signal,ŵ_(m)(n, p) contained in each.

Next, the variance of each noise signal is calculated by VarianceCalculators 80 ₁, to 80 _(M) to obtain an estimate of the average noisepower, {circumflex over (σ)}_(m)(p)², in each frame. This calculation isexpressed as follows:

$\begin{matrix}{{{{\hat{\sigma}}_{m}(p)}^{2} = {\frac{1}{N_{w}}{\sum\limits_{n = 1}^{N_{w}}\;{{{\hat{w}}_{m}\left( {n,p} \right)}}^{2}}}},{{\forall m} = 1},2,\ldots\mspace{11mu},M} & (12)\end{matrix}$

Each of these noise power estimates, {circumflex over (σ)}_(m)(p)², arethen averaged in Averager 82 to obtain an estimate of the average noisepower, {circumflex over (σ)}(p)² in the received signal, r(n,p). Thisaveraging is performed mathematically as follows:

$\begin{matrix}{{\hat{\sigma}(p)}^{2} = {\frac{1}{M}{\sum\limits_{m = 1}^{M}\;{{\hat{\sigma}}_{m}(p)}^{2}}}} & (13)\end{matrix}$

This entire process is repeated for each diversity port, p, in order toobtain a noise power estimate for each received signal, r(n,p).

FIG. 8 is a flow chart of the Signature Waveform Estimator componentconfigured in accordance with one embodiment of the present invention.Signature Waveform Estimator 58 component includes a Training SequenceSelector 64 which provides the received training sequence, {circumflexover (β)}_(m)(n, p), for each frame m of received data, to MatrixMultiplier 66 _(m). The Signature Waveform Estimator 58 estimates thecharacteristic signature waveforms ŝ_(k)(n, p, m) that transform eachuser's transmission signal as it propagates from transmitter toreceiver, for each diversity port, p, and each frame, m, of receiveddata. This transformation is expressed mathematically as follows:

$\begin{matrix}{{r\left( {n,p} \right)} = {{\sum\limits_{k = 1}^{K}\;{{d_{k}(n)}*{s_{k}\left( {{nT}_{n},p} \right)}}} + {w\left( {n,p} \right)}}} & (14)\end{matrix}$

This equation shows that the complex baseband signal received fromdiversity port (p) is the sum of each users transmission signal,d_(k)(n), convolved (indicated by the asterisk) with a correspondingcharacteristic signature waveform, s_(k)(nT_(n),p), sampled at T_(n)seconds per sample, that is unique to user, k, and diversity port, p,plus additive white noise, w(n,p). This expression can be rewritten inmatrix form as follows:

$\begin{matrix}{{{\therefore\overset{({N \times 1})}{\underset{\_}{r}(p)}} = {{\underset{=}{\overset{({N \times {KN}_{s}})}{D}} \cdot \overset{({{KN}_{s} \times 1})}{\underset{\_}{s}(p)}} + \overset{({N \times 1})}{\underset{\_}{w}(p)}}}{{where}:}} & (15) \\{{\underset{=}{\overset{({N \times N_{s}})}{D_{k}}} = \begin{bmatrix}{d_{k}(1)} & 0 & \cdots & 0 \\{d_{k}(2)} & {d_{k}(1)} & ⋰ & \vdots \\\vdots & {d_{k}(2)} & ⋰ & 0 \\\vdots & \vdots & ⋰ & {d_{k}(1)} \\{d_{k}\left( N_{d} \right)} & \vdots & ⋰ & {d_{k}(2)} \\0 & {d_{k}\left( N_{d} \right)} & ⋰ & \vdots \\\vdots & ⋰ & ⋰ & \vdots \\0 & \cdots & 0 & {d_{k}\left( N_{d} \right)}\end{bmatrix}};{\overset{({N_{s} \times 1})}{{\underset{\_}{s}}_{k}(p)} = \begin{bmatrix}{s_{k}\left( {1,p} \right)} \\{s_{k}\left( {2,p} \right)} \\\vdots \\{s_{k}\left( {N_{s},p} \right)}\end{bmatrix}}} & (16) \\{{\underset{=}{\overset{({N \times {KN}_{s}})}{D}} = \left\lbrack {\underset{=}{D_{1}},\underset{=}{D_{2}},{\ldots\mspace{11mu}\underset{=}{D_{K}}}} \right\rbrack};{\overset{({{KN}_{s} \times 1})}{\underset{\_}{s}(p)} = \left\lbrack {{{\underset{\_}{s}}_{1}(p)}^{T}\mspace{14mu}{{\underset{\_}{s}}_{2}(p)}^{T}\mspace{14mu}\ldots\mspace{20mu}{{\underset{\_}{s}}_{K}(p)}^{T}} \right\rbrack^{T}}} & (17) \\{{{\overset{({N \times 1})}{\underset{\_}{r}(p)} = \left\lbrack {{r\left( {1,p} \right)}\mspace{14mu}{r\left( {2,p} \right)}\mspace{14mu}\ldots\mspace{11mu}{r\left( {N,p} \right)}} \right\rbrack^{T}};{\overset{({N \times 1})}{\underset{\_}{w}(p)} = \left\lbrack {{w\left( {1,p} \right)}\mspace{14mu}{w\left( {2,p} \right)}\mspace{14mu}\ldots\mspace{11mu}{w\left( {N,p} \right)}} \right\rbrack^{T}}}\mspace{11mu}} & (18)\end{matrix}$

For a given diversity port, p, the approach used to estimate thesesignature responses is to compare the section of the received signalthat contains the composite training sequence, β(n,p), with the actualknown training sequences, b_(k)(n), transmitted by each user, k=1,2, . .. K. This can be accomplished because the transmitted trainingsequences, b_(k)(n), from each user are known by the Receiver 12 andbecause an estimate of the received composite training sequence, β(n,p)can be extracted from the received signal, r(n,p), using the TrainingSequence Locator 56. In this cased _(k)(n)=b _(k)(n), D=B,r(n, p)=β(n, p), and r( p)=β(p).  (19)

The maximum likelihood estimate of the characteristic signaturewaveforms ŝ_(k)(n, p), for each user, k, and each diversity port, p, isthe one that collectively minimize the square error between the receivedcomposite training sequence, β(n,p), and the sum of each users trainingsequence convolved with its corresponding signature waveform

$\left( {\sum\limits_{k = 1}^{K}\;{{b_{k}(n)}*{{\hat{s}}_{k}\left( {n,p} \right)}}} \right).$This maximum likelihood estimate is expressed mathematically in matrixform as follows:

$\begin{matrix}{{{\underset{\_}{s}}_{ML}(p)} = {\arg\mspace{14mu}{\min\limits_{\underset{\_}{s} \in \Omega}\left\{ {{{\underset{\_}{\beta}(p)} - {\underset{=}{B} \cdot \underset{\_}{s}}}}^{2} \right\}}}} & (20)\end{matrix}$where Ω equals the set of all possible combinations of s.

Using the maximum likelihood approach, the signature estimates can besolved for by using a zero forcing criteria. This is done by setting theexpression inside the minimization equal to zero as follows:∥β(p)− B·s _(ML)(p)∥²=0  (21)

Once this is done, the characteristic signature waveform vector can becalculated by solving the above set of linear equations for s_(ML)(p) asfollows:s _(ML)(p)=(( B ^(H) B )⁻¹ B ^(H))β(p)  (22)

Based on the solution of the maximum likelihood equation above, thefirst step is for Training Sequence Selector 64 in the SignatureWaveform Estimator 58 to extract the portion of the received signal,r(n,p), for each frame, m, that contains the received composite trainingsequence, {circumflex over (β)}_(m)(n, p), in that frame. This is donein the Training Sequence Selector (step 64) and is based on the locationof the training sequence, τ_(TS), the number of samples per frame, F,the number of samples of the received training sequence to select,N_(β), and the offset into each received training sequence, δ_(β), touse.

Note that N_(β) is equal to (N_(s)+N_(b)−1), where N_(s) is the numberof samples to use for each signature estimate, and N_(b) is the numberof samples to in the known training sequences. Further note that N_(s)and δ_(β) are parameters that are stored in the memory of this TrainingSequence Selector 64 and therefore can be modified to select any sectionof the received composite training sequences in each frame. These valueswould typically be set so that the entire composite received trainingsequence is extracted from the received signal, r(n,p). The TrainingSequence Selector step 64 is described mathematically as follows:

$\begin{matrix}{\left. {{{\hat{\beta}}_{m}\left( {n,p} \right)} = {r\left( {{\left( {n - 1} \right) + {\left( {m - 1} \right) \cdot F} + \tau_{TS} + \delta_{\beta}},p} \right)}} \right),\begin{matrix}{{{\forall n} = 1},2,\ldots\;,N_{\beta}} \\{{{\forall m} = 1},2,\ldots\mspace{11mu},M}\end{matrix}} & (23)\end{matrix}$

The next step 66 ₁ to 66 _(M) in estimating the signature waveforms isto multiply the transformation matrix T _(r), received from theTransformation Matrix Selector 61, with the section of the receivedcomplex baseband signal that contains the composite received trainingsequence estimate, {circumflex over (β)}_(m)(n, p), for each frame, m,where m=1,2, . . . M, using the Matrix Multiplier step 66 ₁ to 66 _(M)as follows:{circumflex over (β)} _(m)(p)=[{circumflex over (β)}_(m)(1,p){circumflex over (β)}_(m)(2 ,p) . . . {circumflex over (β)}_(m)(N_(β) , p)]^(T) , ∀m=1,2, . . . M  (24)ŝ (p, m)= T _(r)·{circumflex over (β)}_(m)(p), ∀m=1,2, . . . M  (25)where:

$\begin{matrix}{{{\hat{\underset{\_}{s}}\left( {p,m} \right)} = \begin{bmatrix}{{\underset{\_}{\hat{s}}}_{k_{1}}\left( {p,m} \right)} \\{{\underset{\_}{\hat{s}}}_{k_{2}}\left( {p,m} \right)} \\\vdots \\{{\underset{\_}{\hat{s}}}_{k_{A}}\left( {p,m} \right)}\end{bmatrix}};{{{\underset{\_}{\hat{s}}}_{k_{a}}\left( {p,m} \right)} = \begin{bmatrix}{{\underset{\_}{\hat{s}}}_{k_{a}}\left( {1,p,m} \right)} \\{{\underset{\_}{\hat{s}}}_{k_{a}}\left( {2,p,m} \right)} \\\vdots \\{{\underset{\_}{\hat{s}}}_{k_{a}}\left( {N_{s},p,m} \right)}\end{bmatrix}}} & (26)\end{matrix}$

Note that A equals the total number of active users, and k_(a) equalsthe index of the a^(th) active user. Therefore, for the first iterationthrough the signature estimation loop, k_(a)=k and A=K for k−1,2, . . .K because for the first iteration, it is assumed that all K users areactive.

On the initial calculation of the signature waveform estimates thetransformation matrix, T _(r), is passed into the Signature WaveformEstimator 58 from the Initial Transformation Matrix Builder 63 by way ofthe Transformation Matrix Selector 61 routine. On all subsequentestimates of the signature waveforms for the given complex basebandreceived signal, r(n,p), the Transformation matrix T _(r) is passed tothe Signature Waveform Estimator 58 from the Transformation matrixRebuilder 62 by way of the Transformation Matrix Selector routine 61.This is done so that only signature estimates of the Active users(k_(a)) are calculated. Note that the dimensions of the TransformationMatrix T _(r) are a function of the number of samples (N_(s)) in eachcharacteristic signature estimate, ŝ_(k) _(a) (n, p, m), the estimatednumber of currently active users (A), and the number of samples (N_(β))in each received composite training sequence estimate ({circumflex over(β)}_(m)(n, p)).

FIG. 9 is a flow chart for an Active User Tester component configured inaccordance with one embodiment of the present invention. The purpose ofthe Active User Test is to determine which users are transmittinginformation in each snapshot of received data, r(n,p). This test isperformed once for each iteration of the signature estimation loop. Thisis done by calculating the average received power in users signal basedon the signature estimates, ŝ_(k) _(a) (n, p, m), for each user, k_(a),in each frame of received data, m, across each diversity port, p. Thesepower estimates, {circumflex over (P)}_(k) _(a) (p, m), are averagedacross each frame, m, and the result, {circumflex over (P)}_(k) _(a)(p), is compared to a predefined threshold, r_(th), that is set relativeto the estimated noise floor, {circumflex over (σ)}(p)².

To perform the Active User Test, the signature estimates, ŝ_(k) _(a) (n,p, m), are processed for each diversity port, p, separately by a step100 p referred to as the Active User Test For Diversity Port “p”. Theoutput of this step is a sequence, u_(p)(k), of ones and zeros that is(K) elements long. If u_(p)(k)=0, then user k is estimated to be“inactive” and if u_(p)(k)=1, then user k is estimated to be “activelytransmitting” based on the signature estimates for diversity port p.This output sequence, u_(p)(k), is referred to as the active user testresults sequence for diversity port p.

Once this test result sequence is calculated for each diversity port,the sequences are passed to a logical “OR” Operator 102. This logical“OR” function sets the combined active user test result sequence, u(k),equal to 1 if any of the P u_(p)(k) sequences are equal to 1 for eachvalue of k, where k={1,2, . . . K}. Therefore, the combined active usertest result sequence u(k) equals 1 if any of the u_(p)(k) sequencesequal 1, and u(k) equals 0 otherwise, for each user k=1,2, . . . K.

FIG. 10 is a flow chart for an Active User Test For Diversity Port “p”in accordance with one embodiment of the present invention. For a givendiversity port, p, the active user test result, u_(p)(k_(a)), iscalculated for the given user k_(a), which was calculated to be activein the previous iteration of the signature estimation loop, byperforming the following process:

The first step 104 ₁ to 104 _(p) is to estimate the average receivedsignal power for each user (k_(a)) using the estimated characteristicsignature response, ŝ_(k) _(a) (n, p, m), for each frame, m, and eachuser, k_(a), where k_(a)=k₁, k₂, . . . k_(A) as shown in FIG. 10, and itis calculated as follows:

$\begin{matrix}{{{{\hat{P}}_{k_{a}}\left( {p,m} \right)} = {\frac{1}{F_{sym}}{\sum\limits_{n = 1}^{N_{s}}\;{{{\hat{s}}_{k_{a}}\left( {n,p,m} \right)}}^{2}}}},\begin{matrix}{{{\forall k_{a}} = k_{1}},k_{2},\ldots\;,k_{A}} \\{{{\forall m} = 1},2,\ldots\mspace{11mu},M}\end{matrix}} & (27)\end{matrix}$where F_(sym) equals the number of samples per symbol.

Once the signal powers, {circumflex over (P)}_(k) _(a) (p, m), areestimated for each user, k_(a), the results from each frame are averagedas follows:

$\begin{matrix}{{{{\hat{P}}_{k_{a}}(p)} = {\frac{1}{M}{\sum\limits_{m - 1}^{M}{{\hat{P}}_{k_{a}}\left( {p,m} \right)}}}},{{\forall k_{a}} = k_{1}},k_{2},\ldots\;,k_{A}} & (28)\end{matrix}$

In the next step 106 ₁ to 106 _(p), these estimated signature powers foreach user (k_(a)=k₁, k₂, . . . ,k_(A)) are compared to a detectionthreshold, r_(th), relative to the estimated noise floor, {circumflexover (σ)}(p)². If the estimated signature power, {circumflex over(P)}_(k) _(a) (p), for user k_(a) is greater than or equal to theproduct of the relative threshold, r_(th), with the estimated noisefloor, {circumflex over (σ)}(p)², then the active user test result,u_(p)(k_(a)), for that user k_(a) is set to 1. Otherwise, it is set to0. This test is expressed mathematically as follows:

$\begin{matrix}{{u_{p}\left( k_{a} \right)} = \left\{ {\begin{matrix}1 & {{{\hat{P}}_{k_{a}}(p)} \geq \left( {{\hat{\sigma}(p)}^{2} \cdot r_{th}} \right)} \\0 & {otherwise}\end{matrix},{{\forall k_{a}} = k_{1}},k_{2},\ldots\mspace{11mu},k_{A}} \right.} & (29)\end{matrix}$

In Combine Results step 108, all of the results for u_(p)(k_(a)) arethen combined with the original user states vector, u_(p)(k) as follows:

$\begin{matrix}{{u_{p}(k)} = \left\{ {\begin{matrix}{u_{p}\left( k_{a} \right)} & {k = k_{a}} \\0 & {otherwise}\end{matrix},{{\forall k} = 1},2,\ldots\mspace{11mu},K} \right.} & (30)\end{matrix}$

Referring to FIG. 5, the Transformation Matrix Rebuilder 62 uses theresults of the Active User Tester 60 to rebuild the transformationmatrix, T _(r), which is used by the Signature Waveform Estimator 58 toestimate the signature responses for each user, k, diversity port, p,and frame, m. This transformation matrix is rebuilt by removing the submatrices, B _(k), in the training sequence matrix, B, that correspond tothe inactive users. This is done to create an updated transformationmatrix, T _(r2), that is used to only estimate the signature responsesof the active users, k_(a). This process is represented mathematicallyas follows:{tilde over (B)}=└{tilde over (B)} _(k) ₁ ,{tilde over (B)} _(k) ₂ , . .. {tilde over (B)} _(k) _(A) ┘  (31)∴ T _(r2)=( {tilde over (B)} ^(H) {tilde over (B)} )⁻¹ {tilde over (B)}^(H)  (32)

Where k_(a) can be defined using the following algorithm:

a = 1; for k = 1:K if(u(k) = 1) k_(a) = k a=a+1 end end

The updated transformation matrix, T _(r2), is passed to the SignatureWaveform Estimator 58 by way of the Transformation Matrix Selector 61.Inside the Signature Waveform Estimator 58, the updated transformationmatrix, T _(r2), is reapplied to each estimated received trainingsequence, {circumflex over (β)}_(m)(n, p), for each diversity port, p,and for each frame, m, in order to calculate more accurate signaturewaveform estimates for only the active users.

The Initial Transformation Matrix Builder 63 calculates the initialtransformation matrix T _(r1), based on the known training sequences(b_(k)(n)), which are N_(b) samples long, for each possible user (k=1,2,. . . K). This transformation matrix is calculated as follows:

First, the known training sequence convolution matrix (B) is determined:

$\begin{matrix}{\overset{({{({N_{b} + N_{s} - 1})}x\; N_{s}})}{{\underset{=}{B}}_{k}} = \begin{bmatrix}{b_{k}(1)} & 0 & \cdots & 0 \\{b_{k}(2)} & {b_{k}(1)} & ⋰ & \vdots \\\vdots & {b_{k}(2)} & ⋰ & 0 \\\vdots & \vdots & ⋰ & {b_{k}(1)} \\{b_{k}\left( N_{b} \right)} & \vdots & ⋰ & {b_{k}(2)} \\0 & {b_{k}\left( N_{b} \right)} & ⋰ & \vdots \\\vdots & ⋰ & ⋰ & \vdots \\0 & \cdots & 0 & {b_{k}\left( N_{b} \right)}\end{bmatrix}} & (33) \\{\overset{({{({N_{b} + N_{s} - 1})}x\;{KN}_{s}})}{\underset{=}{B}} = \left\lbrack {{\underset{=}{B}}_{1},{\underset{=}{B}}_{2},{\ldots\mspace{11mu}{\underset{=}{B}}_{K}}} \right\rbrack} & (34)\end{matrix}$

Second, the transformation matrix (T _(r1)) is calculated as follows:

$\begin{matrix}{\overset{({{KN}_{s}{x{({N_{b} + N_{s} - 1})}}})}{{\underset{=}{T}}_{r1}} = {\left( {{\underset{=}{B}}^{H}\underset{=}{B}} \right)^{- 1}{\underset{=}{B}}^{H}}} & (35)\end{matrix}$

The Initial Transformation Matrix (T _(r1)), is passed to the SignatureWaveform Estimator 58 by way of the Transformation Matrix Selector 61,and is used to calculate the initial signature waveform estimates,ŝ_(k)(n, p, m), for each possible user, k, across each diversity port,p, and each frame, m, of received data. Also, the known trainingsequence convolution matrix is passed to the Transformation MatrixRebuilder 62 so that the sub matrices (B ₁,B ₂ . . . B _(k)) do not needto be regenerated for each iteration of the signature estimation loop.

The Transformation Matrix Selector 61 component is used to select whichtransformation matrix will be passed to the Signature Waveform Estimator58. For a given snapshot of the complex baseband received signal,r(n,p), the initial signature waveform estimates, ŝ_(k)(n, p, m), arecalculated using the initial transformation matrix, T _(r1). Therefore,in this case, the Transformation Matrix Selector passes T _(r1) to theSignature Waveform Estimator 58 by setting its output, T _(r), equal toT _(r1). Once the Signature Waveform Estimator 58 estimates thesignature waveforms for each user, the results are passed to the ActiveUser Tester 60 to determine which users are currently active. Theseresults are then passed to the Transformation Matrix Rebuilder 62 torebuild the transformation matrix using only the known training sequenceconvolution matrices (B _(k) _(a) ) for the active users. Therefore,after the initial signature waveform estimates have been calculated, theTransformation Matrix Selector 61 passes the rebuilt transformationmatrix, T _(r) ₂ , to the Signature Waveform Estimator 58 by setting itsoutput, T _(r), equal to T _(r) ₂ .

Low Complexity MUD Algorithms

Conventional Minimum Mean Squared Error (MMSE) multiuser detectors withprior information typically show up in a turbo setting. Algebraic meansare used to compute linear operators for the entire set of users(communications channels) simultaneously. This is done by utilizingprior information, or knowledge of the likely value of each user's bitof information, each at a particular instant in time. Such conventionalmultiuser detectors, however, were not designed for overloadedcommunication systems, and are subject to numerical instability, as wellas unreasonable computational complexity.

Using the principles of the present invention, the instability problemof conventional detectors is solved. This solution can work with manyvarieties of multiuser detectors currently available or emerging, anddramatically reduces the number of computations needed in the multiuserdetector block of a Turbo detector, so that reliable operation can beachieved in a real-time implementation. In one embodiment, the MUDmodule employs partial quantization of probability data in a MMSEdetector. MMSE detection and hybrid cancellation are enabled in the samemultiuser detection block, as well as variable size matrix operations inthe turbo detector.

An example embodiment of a low complexity MUD with partially quantizedprior information is discussed in reference to FIGS. 11–15C. Anotherexample embodiment of a low complexity MUD based on prewhitened data isdiscussed in reference to FIGS. 16–23.

Low Complexity MUD with Partially Quantized Prior Information

FIG. 11 is a diagrammatic representation of iterative processing ofincoming data streams in a Turbo MUD in accordance with one embodimentof the present invention. Each stream corresponds to a different user.Any one stream may, for instance, be from multiple CDMA cellphones whichare operating on the same frequency and transmitting at the same time,and which produce interfering signals. A stream may also be from anumber of cable boxes communicating with a head end system, again on thesame frequency and at the same time. Alternatively, a stream may be frommultiple users of an 802.11 wireless local area network, or an ultrawideband network. Alternatively, a stream may be interfering signalsfrom adjacent tracks on a digital storage disk in which the read head isoverlapping one or more of the highly dense tracks. Regardless, whatoccurs is that a number of packets or chunks of data here illustrated at110 are transmitted simultaneously, with each packet containing, forinstance, several hundred bits.

In order to separate out the interfering signals, the incoming signalsare applied as illustrated by arrow 112 to a Turbo MUD 114 whichprocesses the incoming signals on a time interval by time intervalbasis, and provides best guesses or estimates of the individual bits foreach user, as illustrated at 116. These best guesses or estimates arethen applied in a feedback loop to the MUD so as to increase thelikelihood that the particular bit is what it is supposed to be. This isdone in an iterative process until such time as the error rate isstatistically known to drop below a predetermined value. When it does,the bits corresponding to the digital incoming streams are outputtedsuch that the incoming data is recovered with the interfering signalshaving been separated by the Turbo MUD 114.

FIG. 12 is a block diagram illustrating a Turbo Multiuser Detectorconfigured in accordance with one embodiment of the present invention.This embodiment could be used, for example, to implement the MultiuserDetector 18 of FIGS. 1–3. Here, soft outputs from a MUD module arecoupled back through an error corrector, with the best estimate averagesbeing thresholded such that those estimates having a particular degreeof certainty are ascertained and are not passed through in the feedbackloop back to the MUD. Rather, those estimates are utilized in acombiner, with the processing by the MUD being substantially reduced byignoring those bits of relative certainty.

In more detail, MUD 114 is adapted to process independent bits in thebit stream where L is used to indicate that there are, for example,several hundred bits during the L time interval. The L time interval isillustrated at 120 to delineate a portion of an incoming data stream ofinterfering signals illustrated by waveform 122. The MUD 114 considersonly a bit-size portion of these incoming signals at a time, hereillustrated by 124, and processes these signals so as to produce anumber of best estimates of the bits from each of the users at that timeinstant. Here, the best estimates for a first user are illustrated incolumn 124 and for a second user in column 126.

These estimates in terms of real numbers called “soft” MUD outputs arecoupled to an Error Correction Unit 128 which performs error correctionfunctions such that as illustrated at 129 which determines thelikelihood that a bit is either 1 or 0 in one embodiment based on awindow of preceding and succeeding bits for each user. Thus, a bit 131is determined by the bits in the preceding window 133 and the succeedingwindow 135. The output of the Error Correction Unit is applied back toMUD 114 so as to permit iterative processing of the bits for increasingthe likelihood that a particular bit is what it is said to be.

This iterative processing is what takes an inordinate amount of timeeven under the best of circumstances due to the enormous number ofpossibilities for each of the bits from each of the users. Oneembodiment of the present invention eliminates from consideration duringthe next iteration of the MUD those bits that are determined to bealmost certain.

Assume, for example, that out of 10 bits three are certain, then theprocessing by the MUD on the next iteration can be reduced to 12% ofwhat the processing was during the last iteration. In order to do this,a Thresholding Module 130 eliminates from being passed back to the MUD114 those bits that are determined to be certain enough so that they canbe assigned either −1 or +1 in one embodiment. This Thresholding Module130 passes through the relatively uncertain bit estimates on line 132and passes through the relatively certain bit estimates as theirquantized values, +1 or −1, on lines 134 and 136 to a Combining Unit138, which combines these certain bits with the recomputed best guessesfrom MUD 114 on the next iteration.

The result is that the information provided to Error Correction Module128 on the next iteration takes into account the certain bits and alsothe recomputed best guesses for the remainder of the bits. The ErrorCorrection Unit 128 processes these combined estimates. The output ofthe Error Correction Unit 128 is again fed back to MUD 114 throughThresholding Unit 130, such that on this next pass, even more bits canbe declared certain, with the following iteration only considering theleftover uncertain bit estimates, again resulting in a dramaticprocessing advantage on this subsequent iteration. When the output ofthe Error Correction Unit 128 is predicted to have an error rate lessthan a predetermined figure, then the iteration stops and the output isavailable on line 140 as the separated and demodulated signals.

FIG. 13 is a diagrammatic illustration of example thresholding performedby the system of FIG. 12. In this particular example, bits that liebetween −1 and −0.95 are assigned the −1 value, whereas bits lyingbetween 0.95 and +1 are given a +1 value. The Thresholding Unit 30determines those bit estimates, for instance, between −1 and −0.95probability of being correct and between +0.95 and +1 probability ofbeing correct, respectively returning a −1 and +1, while the estimatesof the other bits are passed through as illustrated by arrow 132. As canbe seen, the thresholding is such that only those bit estimates whichexist to either side of the thresholds as illustrated at 144 and 146 arethose “certain” bits that are directly coupled to Combiner 138, whereasthe remaining bit estimates are those that are passed through to MUD114.

FIG. 14 is a block diagram illustrating example thresholding andcombining performed by the system of FIG. 12. As can be seen, given a Kby L matrix, thresholding in accordance with an embodiment of thepresent invention results in a processing advantage for the MUD 114. Apredetermined subset 150 of the K×L matrix reflects a limited number ofusers and a limited number of bits.

FIG. 15A is a schematic diagram of two of the bits in an example K by Lmatrix of FIG. 14 having certain values. As can be seen, this subsetincludes three users, k₁, k₂ and k₃ and three time intervals, l₁, l₂ andl₃. Assume that due to the thresholding action of Thresholding Unit 130,the k₃l₁ bit (designated 152) and the k₂l₃ bit (designated 154) aredeemed certain. On the next iteration by MUD 114, the bit estimateswhich remain uncertain are processed by MUD 114, whereas bit estimateswhich have now been quantized and are not further processed by the MUD114 (i.e., unprocessed) are passed through.

This processing of the values from the matrix is shown more clearly inFIG. 15B, which shows the MUD 114 processes seven of the best estimatevalues (designated as 160) in the feedback loop. The two certain values(designated as 162) are passed through. FIG. 15C is a diagrammaticillustration of MUD signals which are processed on a next iterationcombined with unprocessed signals so as to provide the error correctionunit 130 with appropriate estimates.

The processed and unprocessed bits are thereafter combined at 138 suchthat the result that is coupled to the Error Corrector 128 is asillustrated at 164. As will be appreciated, after the thresholding, thatwhich was passed through on the next iteration to Error Corrector 128are new best estimates of what the bits should be, along with thecertain bits. This enables the Error Corrector 128 to better process theoutput from Combiner 138 and to provide better estimates back throughthe Thresholding Circuit 130 to MUD 114. The result is that the finalbit estimates are more quickly ascertained, which results indramatically reduced processing times. Thus, the original incominginterfering signals are recovered quicker with fewer iterations and lesscomputation.

Quantized Turbo MUD

The mathematical background underpinning the Low Complexity Mud withPartially Quantized Prior Information algorithm is now described. It iswell known in the literature that the MUD processing block of a TurboMUD processor reaches its ultimate performance when it directlymaximizes the likelihood function:

$\begin{matrix}{\hat{b} = {{\underset{b}{\arg\;\max}\left\{ {\Lambda^{\prime}(b)} \right\}} = {\underset{b}{\arg\;\max}\left\{ {{2*{Re}\left\{ {b^{\prime}{AS}^{\prime}r} \right\}} - {b^{\prime}S^{\prime}{Sb}} + {2\sigma^{2}\ln\left\{ {p_{b}(b)} \right\}}} \right\}}}} & (36)\end{matrix}$The two parts of this likelihood are due to the fitting of the data tothe candidate bits (first term), and a likelihood contribution due toany prior knowledge of what the bits were (second term). In turbo MUD,these prior likelihoods start out as unknown (0 or 1 equally likely),and subsequently as the loop iterates are simply the likelihoods fromthe last iteration. It is typical to assume that the likelihoodcontributions in the second term are mutually independent, which allowsit to be rewritten:

$\begin{matrix}{2\;\sigma^{2}{\sum\limits_{i = 1}^{K}\;{{\ln\left( {p_{b}\left( b_{i} \right)} \right)}.}}} & (37)\end{matrix}$

In the Low Complexity Mud with Partially Quantized Prior Information,Equation 36 is approximately solved by quantizing the second likelihoodcontribution to its extreme values. In fact, if a bit's prior likelihoodis completely unknown, the probability of it being a 1 or a 0 are equal(does not influence Equation 36), and if the prior likelihood isperfectly known, the probability is 1 for the correct choice, and 0 forthe incorrect choice. This forces a contribution to Equation 36 of −∞for the unlikely or incorrect guess of that bit.

This simplification or quantization of the likelihood function Equation36 mathematically implies that the bit decisions at that point in theturbo iteration can be separated into two parts S=[S₁ S₂], b^(t)=└b₁^(t) b₂ ^(t)┘, ‘known’ and ‘unknown’. This simplifies the likelihood to:Λ′(b)→Λ′_(s) ₂ (b ₂)=2*Re{b ₂ ^(h) S ₂ ^(h)(r−S ₁ b ₁)}−b ₂ ^(h) S ₂^(h) S ₂ b ₂  (38)where it is understood that an optimization will only be conducted overthe unknown bits (subscripted by 2), and the known bits (subscriptedby 1) will be passed into the computation as inputs. Furthermore, thelikelihood equation, and therefore processing implied by Equation 38 forthe unknown bits is equivalent to normal MUD processing, replacing thedata with the modified data r−S₁b₁.

In this embodiment, a MMSE MUD algorithm is used to compute equation 38,although any number of MUD algorithms could be substituted. The MMSEoperator will be b_(out,2)=(σ²+A₂S₂^(H)S₂A₂)⁻¹(S₂A₂)^(H)(r−S₁A₁b_(in,1)), and can be computed using thealgorithmic steps:

-   -   1) input {tilde over (b)}_(in), threshold and register known and        unknown bits;    -   2) input r,SA, and compute residual {tilde over        (r)}=r−S₁A₁b_(in,1);    -   3) compute A₂R₂A₂=A₂S₂ ^(H)S₂A₂;    -   4) compute (σ²I+A₂R₂A₂)⁻¹;    -   5) compute {tilde over        (b)}_(out,2)=(σ²I+A₂R₂A₂)⁻¹(S₂A₂)^(H){tilde over (r)}; and    -   6) pass through {tilde over (b)}_(out,1)={tilde over        (b)}_(in,1).        The Low Complexity Mud with Partially Quantized Prior        Information algorithm can be carried out, for example, by the        embodiment illustrated in FIG. 12.

Low Complexity M-Algorithm Based on Prewhitened Data

The data to be processed by the MUD can be prewhitened in a manner thatpartially decouples the users from multiple access interference, whichdramatically improves performance. FIG. 16 implements an M-algorithmbased on prewhitened data in accordance with an embodiment of thepresent invention. Modules 205, 208, 210, and 213 of this embodimentcould be used, for example, to implement the Multiuser Detector 18 ofFIGS. 1–3.

The apparatus in FIG. 16 is now described in more detail. A data stream200, potentially complex, is received from some source. For the case ofCode Division Multiple Access (CDMA) communications schemes, the datastream is sampled by some multiple of the chip rate. For TDMAcommunication schemes, the data stream is sampled at some multiple ofthe symbol rate.

The data 200 represents a vector of data, transferred at some rate(e.g., the symbol rate). This data 200 is transmitted to the matchedfilter 205. In addition, the same vector 200 is passed on to theparameter estimation module 202. The purpose of the parameter estimationmodule is to estimate timing, signal amplitudes, phases, polarization,and identification of transmission channels. Estimates of the parametersare passed to design the matched filter bank 205 and estimates of theparameters are also passed to design the corresponding whitener 208.

Symbol hypothesis testing, conducted in 213 of FIG. 16, could includethe maximum likelihood detector which is expressed mathematically as,

$\begin{matrix}{{\hat{b}}_{ML} = {\arg\;{{\underset{b}{\min{{r - {SAb}}}}}^{2}.}}} & (39)\end{matrix}$

Equation 39 is based on the linear model for the received samplesillustrated byr=SAb+n _(w),  (40)which defines the received samples in terms of the transmitted bits, b,and a model of the channel defined in S. The maximum likelihood detectoris a brute force approach which requires an exhaustive search. Themaximum likelihood solution consists of exhaustively evaluating theEuclidean distance between the received samples and the linear model ofthe samples using every possible hypothesis of the bit sequence. It istoo computationally intensive for problems with a large number of usersor severe intersymbol interference from multipath. The approachconsidered here consists of a simplified version of the maximumlikelihood detector that nearly achieves the same performance in asupersaturated environment with large savings in the number ofcomputations. This approach is described as follows.

The maximum likelihood solution is rewritten as

$\begin{matrix}{\left. {{\hat{b}}_{ML} = {\arg\;\underset{b}{\min\left\{ \;\left( {r - {SAb}} \right)^{H} \right.}{\sum\limits^{- 1}\;\left( {r - {SAb}} \right)}}} \right\},} & (41)\end{matrix}$where Σ represents the covariance of the noise, n_(w). When the noise iswhite, the weighted least squares solution in Equation 41 is identicalto the maximum likelihood detector in Equation 39. For any matrix W theweighted least squares solution in Equation 40 is identical to thefollowing solution

$\begin{matrix}{\left. {{\hat{b}}_{ML} = {\arg\;\underset{b}{\min\left\{ \;\left( {w - {WSAb}} \right)^{H} \right.}{\overset{- 1}{\sum\limits_{W}}\;\left( {w - {WSAb}} \right)}}} \right\},} & (42)\end{matrix}$where w=Wr and Σ_(w)=WΣW^(H). The motivation of exploring linearcombinations of the received data, is because certain transformationsallow for more efficient searches of the more likely bit-hypotheses. Thenotation in Equations 41–42 is based on the linear matrix representationfor samples of received waveform based on the presence of all users (seeEquation 40).

LetW=(A ^(H) S ^(H) SA)⁻¹ A ^(H) S ^(H),  (43)then the filter bank defined by the matrix W is the filter bank used inthe decorrelator receiver. The decorrelator receiver is attractivebecause it optimally mitigates the multiple access interference but doesnot account for the colored noise. Specifically, while the multipleaccess interference is eliminated, assuming known correlation matrix,the white noise component has been colored (when the signature waveformsare not orthonormal). A more suitable filter bank includes the inverseof the square root of the correlation matrix. This combination resultsin a filter bank that partially decouples the multiple accessinterference yet maintains uncorrelated noise components. The cascade ofthe square root filter and the matched filter represents an orthonormalset of filters that are closest in a least squares sense to thesignature waveforms. A square root filter bank defined using theCholesky factorization of the correlation matrix is one of the moreattractive square root factorizations. The correlation matrix isrepresented in Equation 43 byH=(A ^(H) S ^(H) SA).  (44)

The Cholesky factorization of the correlation matrix H is defined byH=(A ^(H) S ^(H) SA)=(F ^(H) F),  (45)where F is an upper-triangular matrix. Therefore the whitening filter isdefined as F^(−H) which is a lower triangular matrix. Therefore, ratherthan utilize decorrelating filter bank in Equation 43, the followingpartial decorrelating filter bank, defined asW=F ^(−H) A ^(H) S ^(H),  (46)which is more suitable for efficient searches of the weighted leastsquares solution. The attraction of this particular square rootfactorization is illustrated by

$\begin{matrix}{w = {{F^{- H}A^{H}S^{H}r} = {{{Fb} + z} = {{\begin{bmatrix}F_{11} & F_{12} & F_{13} & F_{14} & \cdots & F_{1K} \\0 & F_{22} & F_{23} & F_{24} & \cdots & F_{2K} \\0 & 0 & F_{33} & F_{34} & \cdots & F_{3K} \\0 & 0 & 0 & F_{44} & \cdots & F_{4K} \\\vdots & \vdots & \vdots & \vdots & ⋰ & \vdots \\0 & 0 & 0 & 0 & \cdots & F_{KK}\end{bmatrix}\begin{bmatrix}b_{1} \\b_{2} \\b_{3} \\b_{4} \\\vdots \\b_{K}\end{bmatrix}} + {\begin{bmatrix}z_{1} \\z_{2} \\z_{3} \\z_{4} \\\vdots \\z_{K}\end{bmatrix}.}}}}} & (47)\end{matrix}$

The partial decoupling of the co-channel interference is illustrated bythe mean of the whitened output, w, defined to be Fb where F is an uppertriangular matrix. Let the column vector, b, be ordered by user suchthat the top row represents the 1 ^(st) user and the bottom rowrepresents the K^(th) user. Computing the terms in Fb shows that theK^(th) user is completely decoupled from all other user's bithypotheses. Also the (K−1)^(th) users bit hypothesis is only coupledwith the bit hypothesis for user K. The term partial decoupling is usedbecause the decisions for the (K−m) users are decoupled from any of theother users such that knowledge of the first 1 to (K−m−1) users are notrequired for making decisions on the later (K−m) users.

Continuing in this manner illustrates how measurements for any user havebeen decoupled from the actual bits of any “future” user. Note, the term“future” for user k refers to all users 1 through k−1.

The noise is whitened by using the partial decorrelator defined byW=F ^(−H) A ^(H) S ^(H).  (48)The white noise is illustrated byF ^(−H)(AS)^(H) E{n _(w) n _(w) ^(H)}(AS)F ⁻¹=σ_(w) ² F^(−H)(AS)^(H)(AS)F ⁻¹=σ_(w) ² I,  (49)where I represents the identify matrix and E represents the expectationof the random variables. The diagonal covariance matrix proves thatnoise has been whitened using the partially decorrelating filter bankdefined in Equation 48. Substituting the decorrelating filter bank inEquation 48 into Equation 42, produces the same maximum likelihoodsolution.

The maximum likelihood expression in Equation 42 is rewritten in termsof the metric Ω(b) which is illustrated by

$\begin{matrix}{{{\hat{b}}_{ML} = {\arg\mspace{11mu}{\min\limits_{b}{\Omega\mspace{11mu}(b)}}}},} & (50)\end{matrix}$where

$\begin{matrix}{{\Omega(b)} = {\sum\limits_{k = 1}^{K}\;{{{w_{k} - {\sum\limits_{j = k}^{K}\;{F_{kj}b_{j}}}}}^{2}.}}} & (51)\end{matrix}$

Using Equation 51, the search for the optimal set of bits can bereformulated in terms of a decision tree in which the metriccharacterizing the likelihood of the bit hypothesis for user k, b_(k),is now represented by the component

$\begin{matrix}{w_{k} - {\sum\limits_{j = k}^{K}\;{F_{kj}{b_{j}^{2}.}}}} & (52)\end{matrix}$

The term b_(k) represents the bit hypothesis for user k and the termw_(k) represents the filter bank output for filter k which has beenmatched to the signature waveform used by user k. The term f_(jk)represents the Cholesky factor defined for users j and users k. Thesequential nature of the ML metric is more clearly illustrated by thefollowing expression. Each component of the summation (see Equation 52)can be considered as one of K stages of a decision tree. The followingexpression illustrates the first three terms of distance metric whichwould correspond to the components for the first three stages of thedecision tree.Ω(b)=|w _(K) −F _(KK) b _(K)|² +|w _((K−1))−(F _((K−1)(K−1)) b _((K−1))+F _((K−1)K) b _(K))|² +|w _((K−2))−(F _((K−2)(K−2)) b _((K−2)) +F_((K−2)(K−1)) b _((K−1)) +F _((K−2)K) b _(K))|²+. . .   (53)

Evaluating the metric over these first three stages is illustrated inFIG. 17 for the QPSK alphabet. At the first stage, the first component|w_(K)−F_(KK)b_(K)|² assesses the likelihood of the four possible statesfor user K. As indicated by FIG. 17, this likelihood metric is notdependent on any other decisions on other user's bits. At the secondstage, an estimate of the (K−1)th users bit, b_((K−1)), is based on the|w_((K−1))−(F_((K−1)(K−1))b_((K−1))+F_((K−1)K)b_(K))|². The decision atthe second on the filtered data corresponding to user b_((K−1)) and thedecision made for the K th user. Similarly, the estimate of the (K−2)thuser is evaluated at the third stage using the third component of thedistance metric, which is dependent on the previous two decisions. Thiscontinues for all K of these components. The trend shows that earlydecisions on users' bits are decoupled from “future” decisions made forthe remaining users' bits.

Since the entire ML metric is a summation of K of these components,there are K stages to the decision tree. The jointly optimal decisionrequires each one of the branches of the decision tree must be explored.The decision tree approach still requires 4^(K) hypotheses to beevaluated for the QPSK case with no multipath. Expressing the problem interms of a decision tree enables exploration of pruning techniques suchas the M-algorithm or T-algorithm.

For the super-saturated communications problem, there are more usersthan statistically independent dimensions and therefore have anunder-determined problem, such that the correlation matrix is positivesemidefinite (i.e., not invertible). Since the correlation matrix is notinvertible, the partial decorrelator in Equation 48 no longer existsbecause of the correlation between the channels.

A technique commonly used in regression analysis to combatmulticolinearity is referred to as ridge regression. Multicolinearityresults form high correlation between independent variables, which inthis particular case corresponds to user's transmitted waveforms. Simplyput (A^(H)S^(H)SA) has large off-diagonal terms producing an unstablecorrelation matrix with high condition numbers (i.e., ratio of maximumeigenvalue to lowest eigenvalue). In regression analysis, this producesestimates with very high variance. This is resolved by accepting a smallbias to minimize the variance in the estimates. This is done bytransforming the correlation matrix from (A^(H)S^(H)SA) to(A^(H)S^(H)SA+γI), where γ represents the diagonal loading. This raisesthe minimum eigenvalues to produce a more stable correlation matrix atthe price of biased estimates in regression analysis.

The approach considered here is to alter the partial decorrelatingfilter bank by diagonally loading the correlation matrix thusintentionally introducing a bias with the objective of reducing thevariance of the estimate which becomes more critical for the non-lineardecision process inherent in the decision trees. Specifically, the newpartial decorrelating filterbank is defined byW=F _(γ) ^(−H) A ^(H) S ^(H),  (54)where the Cholesky factorization of the diagonally loaded correlationmatrix is such thatF _(γ) ^(H) F _(γ)=(A ^(H) S ^(H) SA+γI).  (55)

As previously mentioned, the concept of ridge regression consists ofintentionally introducing a bias with the intention of reducing thevariance of the estimates. Applying the partial decorrelating filterbank defined in Equation 54 to the received samples produces a vector Ksamples out of the filter bank defined by the K element column vector w.Applying the Equation 54 to the received samples is represented byw=F _(γ) ^(−H) A ^(H) S ^(H) r.  (56)

Substituting the matrix model representation of the received samples,defined in Equation 40 provides the resulting simplificationw=F _(γ) ^(−H) Hb+F _(γ) ^(−H) A ^(H) S ^(H) n _(w),  (57)where the correlation matrix H is defined in Equation 44. Based onEquation 57, it is clear the bias that was intentionally introducedthrough diagonal loading using the noise variance isΔw=−γF _(γ) ^(−H) b.  (58)

The Cholesky factorization of the diagonally loading correlation matrixdoes not completely whiten the noise as indicated by the covariance ofthe noise term in Equation 57 which is defined byσ_(n) ² I−γσ _(n) ²(F _(γ) F _(γ) ^(H))⁻¹.  (59)

For the case of reasonable signal to noise ratios and modest diagonalloading the noise covariance after applying the diagonally loaded basedpartial decorrelator is approximated by σ_(n) ²I. In addition, for smalldiagonal loadings, the bias is considered small. Based on theseapproximations the weighted least squares solution is approximated by

$\begin{matrix}{{\hat{b}}_{ML} = {\arg\mspace{11mu}{\min\limits_{b}{\left\{ {\left( {w - {F_{\gamma}b}} \right)^{H}\left( {w - {F_{\gamma}b}} \right)} \right\}.}}}} & (60)\end{matrix}$

As before, the maximum likelihood solution is express by

$\begin{matrix}{{{\hat{b}}_{ML} = {\arg\mspace{11mu}{\min\limits_{b}{{\Omega\;}_{\gamma}\;(b)}}}},} & (61)\end{matrix}$where

$\begin{matrix}{{\Omega_{\gamma}(b)} = {\sum\limits_{k = 1}^{K}\;{{{w_{k} - {\sum\limits_{j = k}^{K}\;{\left\lceil F_{\gamma} \right\rceil_{kj}b_{j}}}}}^{2}.}}} & (62)\end{matrix}$

The procedure for evaluating Equation 62 is consistent with the approachdescribed in FIG. 17 in which the individual metrics described by

$\begin{matrix}{\;{{w_{k} - {\sum\limits_{j = k}^{K}\;{\left\lceil F_{\gamma} \right\rceil_{kj}b_{j}}}}}^{2}} & (63)\end{matrix}$are evaluated at each node of the decision tree. Referring to FIG. 17,the transition from the previous stage to the current stage of adecision tree consists of an accrual of the individual metrics along thepath of the decision tree. Various suboptimal pruning techniques, suchas the M-algorithm and T-algorithm, are available for efficientlytraversing the decision tree with a tolerable error rate.

FIG. 16 implements the algorithm described in Equations 55, 56, 61, and62. Equation 56 consists of applying the Cholesky Factorization of adiagonally loaded correlation matrix following the application of thematched filter bank. Therefore, the matched filter bank described inEquation 56 is applied in 205. To complete the partial decorrelatingfilter bank, an overloaded asynchronous whitener application 210 isapplied to the filtered data 207. The asynchronous whitener in 210consists of applying the Cholesky factorization of the diagonally loadedcorrelation matrix described in Equation 55.

The purpose of the parameter estimation module, 202, is to estimatetiming, signal amplitudes, phases, polarizations, and identification ofactive channels. Estimates of the parameters are used to model thechannel which is required for application of the matched filter anddevelopment of the asynchronous decorrelating filter bank. The parameterestimation module provides the channel model 206 and the correlationmatrix 203.

The purpose of the 208 is to design the whitener used in box 210. Box208 utilizes the correlation matrix, 203, provided by the parameterestimation module to compute the diagonally loaded CholeskyFactorization described in Equation 55. The factorization is used forwhitening in box 210 and used in hypothesis testing in box 213. Sincethis approach is an extension of decorrelating decision feedbackdetection, the concept of ordering the users by “decreasing receivedenergies” is maintained such that the strongest users are evaluatedfirst. This ordering defines the type of square-root matrix and must bemaintained in the hypothesis testing module, 213. Variations includeother ordering techniques, such as SNR based and likelihood based. Theapproach used in box 208 includes an asynchronous factorization thatexploits the block-banded structure of the correlation matrix. Thesymbol synchronous problem is a degenerate case and therefore may beaddressed by embodiments of the invention. Windowing based techniquesmay also be employed here.

Box 208 may also be adapted for reducing wordlengths and improvingprocessing speed. For example, a QR factorization using Householdertransformations implemented on a matrix that consists of signaturewaveform matrix augmented with diagonal matrix requires smallerwordlengths than the Cholesky factorization of the diagonally loadedcorrelation matrix. Algorithm implementations that use small wordlengthsare more suitable for fixed-point processing hardware configurations. Inaddition, one embodiment of the invention includes the use of HyperbolicHouseholder transformations in box 208 to efficiently update thewhitener when only the received energies and/or phases change betweensymbol periods.

The square-root factorization of the correlation matrix produced in box208 is used to whiten the data in box 210. Embodiments of the inventioncan be adapted to cover two approaches to whitening the matched filtereddata. The first approach can be based on applying a bank of filtersdefined by the inverse of the conjugate transpose of the square-rootmatrix. Since the square-root has been defined with a triangularstructure a whitening procedure using back-substitution can beimplemented. This alternative approach requires less number ofoperations.

The whitened data stream exits box 210 and is passed to box 213 over theline 212. The square-root factorization defined in box 208 is passed tobox 213 over line 211. This factorization is used in the metrics tosequentially evaluate the bit hypotheses in the decision tree which canbe implemented using breadth-first techniques such as the M-algorithm orT-algorithm. Recall, the user ordering used to define the correlationmatrix factorization and whitening filter is maintained in the symbolhypothesis testing module, box 213.

The purpose of box 213 is to efficiently investigate the more likely bithypotheses for all K users. In one embodiment, the symbol hypothesistesting conducted in box 213, is based on sequential evaluation ofmetric characterizing likelihood of hypotheses described in FIG. 17.This evaluation is based on the metrics described in Equations 61 and62.

The metric corresponding to a particular user's bit hypothesis at astage in the decision tree will now be explained in words. The metricconsists of the Euclidean distance between the output of the one of thewhitening filters along the line 212 and the hypothesized mean signalenergy based on the bit hypothesis for the user in question and the meansignal energy corresponding to the hypotheses selected for userspreviously tested. This mean signal energy is based on the Choleskyfactorization of the diagonally loaded correlation matrix that wascomputed in box 208 and provided over line 211. The metric at each nodeof the decision tree illustrated in FIG. 17 includes the accumulation ofmetrics corresponding to previous decisions.

Unlike the decision feedback approaches, decisions are not immediatelymade. However, the approach considered here is a generalization of thedecision feedback techniques and therefore include the decision feedbacktechniques. This sequential concept was observed in FIG. 17 and Equation53 by expanding out the terms of the Euclidean distance between all thefilter banks samples and the hypothesized mean signal based on arbitrarybit hypotheses. The output of box 213, are constrained estimates of thesymbols for all users in the symbol period of interest, which arereported on line 214.

Various efficient decision tree search strategies can be employed in box213. For example, the M-algorithm is one such approach that restrictsthe number of hypotheses at each stage to a fixed number. TheT-algorithm is similar in nature to the M-algorithm, however, itrestricts the number of hypotheses by comparing the accrued metric to athreshold. Variation of this approach and other efficient approaches todecision tree searches will be apparent in light of this disclosure.

There are numerous alternative embodiments for the Co-channelInterference Receiver configured in accordance with the principles ofthe present invention, as will be apparent in light of this disclosure.For example, the MUD conforms to various Turbo MUD designs and allowsdifferent combinations for the MUD core and error correction decoder.The MUD core can comprise MMSE MUD, windowed optimum MUD as well asvarious M-algorithm implementations. In addition, the convolutionalerror correction decoder in the turbo loop can comprise soft outputViterbi or soft output BCJR among others.

Embodiments of the invention may be implemented in software, hardware,firmware, or any combination thereof. For instance, the parameterestimation and MUD modules may be implemented in a set of instructionsexecuting on a digital signal processor or other suitable processingenvironment. Alternatively, the modules can be implemented in purposebuilt silicon (e.g., ASIC, FPGA, or other system-on-a chip designs).

The foregoing description of the embodiments of the invention has beenpresented for the purposes of illustration and description. It is notintended to be exhaustive or to limit the invention to the precise formdisclosed. Many modifications and variations are possible in light ofthis disclosure. It is intended that the scope of the invention belimited not by this detailed description, but rather by the claimsappended hereto.

1. A co-channel interference receiver comprising: a multiuser detectormodule adapted to receive a complex signal that contains informationfrom K co-channel interfering signals in the same frequency and timespace, and configured to operate with at least one of a low complexitylinear MMSE algorithm with partially quantized prior information and alow complexity M-algorithm based on prewhitened data; and a parameterestimation module adapted to receive the complex signal, and to generateestimated signature waveforms of each of the K co-channel interferingsignals; wherein the estimated signature waveforms are provided to themultiuser detector thereby enabling demodulation of the K co-channelinterfering signals.
 2. The receiver of claim 1 wherein the multiuserdetector module and the parameter estimation module are each adapted toreceive a plurality of complex signals.
 3. The receiver of claim 1further comprising: an analog front end operatively coupled to themultiuser detector module and the parameter estimation module, theanalog front end adapted to receive one or more composite waveformsignals each from a plurality of transmitters, and to convert eachreceived composite waveform signal to a corresponding complex signal. 4.The receiver of claim 3 wherein the analog front end includes: one ormore analog to digital converters, each adapted to convert a receivedcomposite waveform to a digital waveform; and one or moredownconverters, each operatively coupled to a respective analog todigital converter, and adapted to translate frequency associated with areceived composite waveform to a lower frequency.
 5. The receiver ofclaim 3 wherein the analog front end includes: one or more antennas eachconfigured to receive a corresponding composite waveform signal from theplurality of transmitters.
 6. The receiver of claim 5 wherein the one ormore antennas is a singly polarized antenna.
 7. The receiver of claim 5wherein the one or more antennas is a dual polarized antenna adaptedwith two polarization ports, thereby providing polarization diversity.8. The receiver of claim 5 wherein the one or more antennas include twoor more dual polarized antennas, each adapted with two polarizationports, thereby providing space and polarization diversity.
 9. Thereceiver of claim 1 wherein the multiuser detector module is configuredto operate with at least the low complexity linear MMSE algorithm withpartially quantized prior information, and comprises: a turbo MUDadapted to provide estimates of individual bits for each of the Kco-channel interfering signals, wherein the estimates are iterativelyapplied in a feedback loop that includes an error correction moduleuntil an error rate associated with the bits drops below a predeterminedfigure; a combiner module operatively coupled to the turbo MUD, andadapted to combine recomputed bit estimates output by the turbo MUD withquantized bit values on a next iteration; and a thresholding modulecoupled to the output of the error correction module, and adapted toassign a quantized value for each bit estimate above a predeterminedthreshold, and to pass through those quantized bit values to thecombiner module, thereby enabling partially quantized prior information.10. The receiver of claim 9 wherein the error correction module on eachsubsequent iteration processes a combination of recomputed bit estimatesoutput by the turbo MUD and quantized bit values output by thethresholding module, and provides its output back to the turbo MUDthrough the thresholding module, thereby reducing the number ofuncertain bit estimates with every iteration.
 11. The receiver of claim1 wherein the multiuser detector module is configured to operate with atleast the low complexity M-algorithm based on prewhitened data, andcomprises: a matched filter adapted to prewhiten complex signalsreceived by the receiver, thereby partially decoupling users frommultiple access interference; a whitener designer module operativelycoupled to the parameter estimator, and adapted to develop a model ofeach received complex signal based on parameter estimates from theparameter estimator, and to compute an asynchronous whitener module thatwhitens filtered data output by the matched filter; and a symbolhypothesis testing module operatively coupled to the whitener designermodule, and configured to receive whitened data output by theasynchronous whitener module, the symbol hypothesis testing moduleadapted to conduct symbol hypothesis testing based on sequentialevaluation of metric characterizing likelihood of hypotheses.
 12. Thereceiver of claim 11 wherein the whitener designer module utilizes acorrelation matrix provided by the parameter estimation module tocompute a diagonally loaded Cholesky Factorization, which is used forwhitening in the whitening module, and is also used in hypothesistesting in the symbol hypothesis testing module.
 13. The receiver ofclaim 11 wherein the whitener designer module employs a QR factorizationusing Householder transformations.
 14. The receiver of claim 11 whereinthe whitener designer module employs Hyperbolic Householdertransformations to efficiently update the asynchronous whitener modulewhen only received energies and/or phases change between symbol periods.15. The receiver of claim 11 wherein the whitener designer moduleemploys a square-root factorization.
 16. The receiver of claim 11wherein the asynchronous whitener module employs a correlation matrixsquare-root factorization produced by the whitener designer module towhiten data.
 17. The receiver of claim 16 wherein the asynchronouswhitener module employs a bank of filters defined by the inverse of theconjugate transpose of the correlation matrix square-root factorization.18. The receiver of claim 16 wherein the correlation matrix square-rootfactorization has a triangular structure, and the asynchronous whitenermodule employs back-substitution.
 19. The receiver of claim 11 whereinthe symbol hypothesis testing module employs a correlation matrixsquare-root factorization produced by the whitener designer module inmetrics to sequentially evaluate the bit hypotheses in a decision treewhich is implemented using breadth-first techniques.
 20. The receiver ofclaim 11 wherein parameter estimates of the parameter estimation moduleare used to model a channel associated with each received complexsignal, thereby enabling application of the matched filter anddevelopment of an asynchronous decorrelating filter bank.
 21. Thereceiver of claim 1 wherein the parameter estimation module is adaptedto estimate signal parameters including at least one of timing, signalamplitudes, phases, polarizations, and identify of active channels. 22.The receiver of claim 1 wherein the parameter estimation modulecomprises: a training sequence locator module adapted to estimate atraining sequence location index in each frame of the received complexsignal; a noise estimator module adapted to calculate an estimate of anaverage noise power in the received complex signal in accordance withthe training sequence location index; a signature waveform estimatormodule adapted to estimate signature waveforms unique to each user inthe received complex signal in accordance with the training sequencelocation index and a transformation matrix; an active user tester moduleoperatively coupled to an output of the noise estimator module and to anoutput of the signature waveform estimator module, the active usertester module adapted to determine a number of active users associatedwith the received complex signal; and a transformation matrix rebuildermodule operatively coupled to the active user tester module and topre-stored known training sequences for each user, the transformationmatrix rebuilder module adapted to generate the transformation matrixused by the signature waveform estimating module.
 23. A co-channelinterference receiver comprising: a multiuser detector module adapted toreceive a complex signal that contains information from K co-channelinterfering signals, and configured to operates with at least one of alow complexity linear MMSE algorithm with partially quantized priorinformation and an algorithm based on prewhitened data, wherein saidalgorithm based on prewhitened data is selected from at least one of anM-algorithm and a T-algorithm; and a parameter estimation module adaptedto receive the complex signal, and to generate estimated signaturewaveforms of each of the K co-channel interfering signals, wherein theestimated signature waveforms are provided to the multiuser detectorthereby enabling demodulation of the K co-channel interfering signals.24. A method for receiving a complex signal that contains informationfrom K co-channel interfering signals, the method comprising: estimatingsignature waveforms of each of the K co-channel interfering signals; andprocessing the complex signal based on the signature waveforms with atleast one of: a low complexity linear MMSE algorithm with partiallyquantized prior information, wherein the low complexity linear MMSEalgorithm includes eliminating from each processing iterationconsideration of those bits having an estimate value that exceeds apredetermined threshold, and wherein bit estimates exceeding thethreshold are considered certain; and a low complexity M-algorithm basedon prewhitened data.
 25. The method of claim 24 wherein the lowcomplexity M-algorithm algorithm based on prewhitened data includes:filtering the complex signal, thereby partially decoupling users frommultiple access interference and providing prewhitened data; developinga model of the received complex signal based on parameter estimates;computing an asynchronous whitener based on the model for whitening theprewhitened data; and conducting symbol hypothesis testing based onsequential evaluation of metric characterizing likelihood of hypotheses.